| **Navigation:**  [[introduction.htm|Language Reference]] > [[chapter runtime properties.htm|App C - PROP: Runtime Properties]] > Complete Property List >====== PROP:AssertHook2 ====== | [[prop asserthook.htm|{{btn_prev_n.gif|Previous page}}]][[chapter runtime properties.htm|{{btn_home_n.gif|Return to chapter overview}}]][[prop autopaper.htm|{{btn_next_n.gif|Next page}}]] | | || A property of the SYSTEM built-in variable that sets the override procedure for the ASSERT internal Clarion procedure. Equivalent to {PROP:LibHook,13}. Assign the ADDRESS of the overriding procedure, and the runtime library will call the overriding procedure instead of the ASSERT procedure. Assign zero and the runtime library will once again call its internal procedure. The overriding procedure's prototype must be exactly the same as the ASSERT procedure (UNSIGNED LineNumber, STRING filename, STRING message). (WRITE-ONLY) **See Also:** [[assert set assumption for debugging .htm|ASSERT]] **Example:** **PROGRAM** **  MAP** **AssertMy1   PROCEDURE(STRING filename,UNSIGNED LineNumber)** **AssertMy2   PROCEDURE(UNSIGNED LineNumber, STRING filename, STRING message)** **  END** ** PRAGMA('define(zero_divide => on'))** **  CODE** **  SYSTEM{****prop:asserthook****} = ADDRESS(AssertMy1)** **  SYSTEM{****prop:asserthook2****} = ADDRESS(AssertMy2)** **  assert(0)** **  assert(0,'i am a message')** **AssertMy1   PROCEDURE(STRING filename,UNSIGNED LineNumber)** **  CODE** **  AssertMy2(LineNumber, FileName,'')** **AssertMy2   PROCEDURE(UNSIGNED LineNumber, STRING filename, STRING message)** **l long** **  CODE** **  SYSTEM{****prop:asserthook****}  = 0  !Stop recursive calls into assert handler** **  SYSTEM{****prop:asserthook2****} = 0  !Stop recursive calls into assert handler** **  IF MESSAGE('Assert 1|filename=' & CLIP(filename) & '|line=' & LineNumber & |** **             '|Message=' & CLIP(message) & '|Do you want me to GPF?',|** **             'ASSERT', ICON:Exclamation, BUTTON:Yes + BUTTON:No)** **   l = l / l                    ! Causes a divide by zero GPF** **  END**