• ベストアンサー

delphi try文の使い方

下記コードのようにエラーを回避したいのですが、try文が機能せずエラーになります。 procedure TForm1.Button1Click(Sender: TObject); var p:integer; begin edit1.text:='abc'; try p:=strtoint(edit1.Text); except p:=-1; end; label1.Caption:=inttostr(p); end; try文の使い方がわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>エラーを回避したいのですが もし、これだけだったら、 label1.Caption:= IntToStr(StrToIntDef(Edit1.Text, -1)); で!

situmonnsya
質問者

お礼

>StrToIntDef こんな便利な関数があるとは、ありがたいです。 ありがとうございます。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

ウチで実際に試してみたところ意図するように機能しました。 おそらく、開発環境上でテストされていて、それで、エラーを報すダイアログがでるので機能しないと思われているのではないでしょうか? そのダイアログで継続すれば、実際にエラーのハンドリングがされて p:=-1 が設定されます。 実行イメージができていれば、開発環境からの実行でなくて、 直接できているEXEをダブルクリックで実行してみると そのままエラー処理ができているのが確認できると思います。

situmonnsya
質問者

お礼

はい、そうでした。 開発段階では、エラーになり実行EXEで機能するなんて、知りませんでした。 ありがとうございます。

関連するQ&A