E2093 ラベル '%s' は現在の手続き/関数内では宣言されていません (Delphi)
エラーと警告のメッセージ(Delphi) への移動
標準 Pascal とは異なり,Borland Delphi 言語では goto を使って現在の手続きから外へジャンプできません。
エラーが発生した場合の処理の停止には例外処理を使用してください。
program Produce; label 99; procedure MyProc; begin (*ここで何か大きな問題が起きる...*) goto 99; end; begin MyProc; 99: Writeln('Fatal error'); end.
{ このコードでは,ローカルでない goto の実行によって処理を停止しようとする }
program Solve; uses SysUtils; procedure MyProc; begin (*ここで何か大きな問題が起きる...*) raise Exception.Create('Fatal error'); end; begin try MyProc; except on E: Exception do Writeln(E.Message); end; end.
{ Delphi では例外処理を使ってプログラムを停止する。この方法にはエラーメッセージも渡せるという利点がある。別の方法として標準手続きの Halt または RunError の使用が考えられる }