.NETにはDelphiのEAbortと同様の例外がありますか?.NETにはDelphiのEAbortと同様の例外がありますか?
現在、私は例外を継承する自分自身の "AbortProcess"を定義しています。 "AbortProcess"を無視するMy.Application.UnhandledExceptionハンドラと一緒に .NETの類似のメカニックが既に存在するかどうかは疑問です。
Class AbortProcess
Inherits System.Exception
End Class
Sub Abort()
Throw New AbortProcess()
End Sub
Sub AppDomain_UnhandledException(ByVal sender As Object, ByVal e As ApplicationServices.UnhandledExceptionEventArgs)
If TypeOf e.Exception Is AbortProcess Then
e.ExitApplication = False
End If
End Sub
Sub PerformActions()
Action1()
If Not Action2() Then
Abort()
End If
Action3()
...
End Sub
どのように典型的な.NET開発者がこのユースケースを処理しますか?
更新日:人々の数投票ダウンいくつかの理由から
この質問を、残念ながら、任意のコメントを与えることなく。私が把握できる唯一の理由は、Exceptionを決してプログラムの流れを制御するために使うべきではないと考えていることです。私はそれに同意する傾向があります。しかし、私は最近、ANTLRを研究し、実際にコントロールフロー構造としてカスタムException(RecognitionException)を使用していることを確認します。 PythonのStopIterationの使用法と合わせて、Exceptionをコントロールフロー構造として使用することは、実際にはすでに広く使われていると思います。 Delphi VCLのように標準化されていないだけです。
Yike!誰が私に下投票を与えるのですか?!?!?!?私は.NETプログラミングを入力しようとするDelphiのプログラマーです。私は.NETから欠落しているDelphiのコンセプトを見つけました。ここで正しい方法を求めています。それのどこが悪いんだい ?!?!?!? – Sake