E2093 ラベル '%s' は現在の手続き/関数内では宣言されていません (Delphi)

提供: RAD Studio
移動先: 案内検索

エラーと警告のメッセージ(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 の使用が考えられる }