バージョン 4.2.5
 —  デバッガ  —

エラー処理

このセクションでは、デバッガの使用時にエラーを処理する方法について説明します。


アプリケーション実行時のエラー

デバッガを使用して、プログラムの実行を中断させた Natural システムエラーを分析できます。 テストモードを ON に設定した場合(「テストモードのオンとオフの切り替え」を参照)、または、DBGERRON に設定した場合(『パラメータリファレンス』ドキュメントを参照)、エラーが発生するとデバッガが制御を取得します。 この場合、次の例のような[Debug Break]ウィンドウが表示されます。

+------------------- 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   !   
+---------------------------------------------------+

[List break]機能を使用すると、最後のステートメントを実行した位置で、プログラムのソースコードを表示できます。 Natural エラー番号が画面の右側にある[Message]列に表示され、対応するソースコード行が強調表示されます。

この時点で、例えばプログラム内で変数の内容を確認し、エラーの原因を特定できます。

Top of page

デバッガ実行時のエラー

アプリケーションのデバッグ時にエラーが検出されると、デバッガは実行を停止して、次に示す例のようなエラーメッセージのウィンドウを表示します。

+------------------ 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   ! 
+------------------------------------------------------------------+

N(No - これがデフォルト設定です)でこのエラーメッセージを確認すると、次のような操作が行われます。

Y(Yes)でこのメッセージを確認すると、次のような操作が行われます。

Top of page