E2126 Break,Continue または Exit で finally 節を脱出してはなりません (Delphi)

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

エラーと警告のメッセージ(Delphi) への移動

finally 節へは例外処理メカニズムや通常のプログラム制御を通して出入りが可能なので,プログラムの明示的な制御フローどおりに動作しない可能性があります。例外処理メカニズムを通して finally に入った場合,Break,Continue,Exit では節から出られません。例外処理システムが finally 節を実行しているときは例外処理システムへ制御を返さなければなりません。


  program Produce;

    procedure A0;
    begin
      try
        (* 失敗するなんらかの処理 *)
      finally
        break;
      end;
    end;

    begin
    end.

{ このプログラムは break 文で finally 節から出ようとしている。この方法で finally 節から出るのは許されない }


  program Solve;

    procedure A0;
    begin
      try
        (* 失敗するなんらかの処理 *)
      finally
      end;
    end;

    begin
    end.

{ このエラーを解決する唯一の方法は,コードの構成を変更して,エラーとなっている文を finally 節から削除すること }