This section provides information on handling errors when using the debugger.
You can use the debugger to analyze any Natural system error that
                  			 interrupts program execution. With test mode set to ON (see
                  			 Switch Test Mode On and
                     			 Off) or DBGERR set to
                  			 ON (see the Parameter Reference
                  			 documentation), the debugger takes control if an error occurs. In this case, a
                  			 Debug Break window similar to the example below
                  			 appears:
               
+------------------- Debug Break -------------------+ ! Break by NATURAL error 1316 ! ! at line 60 in program SAGTEST (level 1) ! ! ! ! G Go ! ! L List break ! ! M Debug Main Menu ! ! N Next break command ! ! R Run (set test mode OFF) ! ! S Step mode ! ! V Variable maintenance ! ! ! ! Code .. G ! ! ! ! Index not within array structure. ! ! PF2=Step,PF13=Next,PF14=Go,PF15=Menu,PF17=SkipS ! +---------------------------------------------------+  | 
                  
Using the List break function, you can display the source code of the program at the position where the last statement was executed. The Natural error number is displayed in the Message column on the right-hand side of the screen and the corresponding source code line is highlighted.
You can then, for example, review the contents of the variables in the program to determine the reason for the error.
If an error is detected while debugging an application, the debugger will terminate and invoke a window with an error message similar to the example shown below:
+------------------ NATURAL Debug Error ---------------------------+ ! NATURAL error 3009 has occurred in the NATURAL Debugger. ! ! Last transaction backed out of database 10. Subcode 3 ! ! ! ! Error occurred on level 5 in line 4150 in ! ! subprogram DBGTEST in library TEST. ! ! DBGTEST has been loaded from FNAT=(10,932). ! ! DBGTEST has been cataloged on 2005-04-12 14:43:07. ! ! ! ! Debugging terminates. ! ! Pass this error to application for error processing ? (Y/N): N ! +------------------------------------------------------------------+  | 
                  
If you confirm this error message with an N (No - this
                  			 is the default setting), the following happens:
               
The debugger stops debugging and sets the test mode to
                        				  OFF.
                     
The Natural runtime system ignores the error and continues executing the application.
If you confirm this message with a Y (Yes), the
                  			 following happens:
               
The debugger stops debugging and sets the test mode to
                        				  OFF.
                     
The Natural runtime system reacts to the error and passes it to the application:
 If an ON
                              				  ERROR statement (see the Statements
                        				  documentation) is used, the application determines how to proceed after an
                        				  execution time error occurs. For example, in the case of a
                        				  NAT3009 where a transaction is backed out of a database,
                        				  the application can take appropriate action.
                     
 If no ON ERROR statement is used, the Natural
                        				  runtime system terminates application execution and returns to a Natural
                        				  command prompt.