を、私はあなたが持って見ることができる2つのシナリオがありますAはクラスBのメソッドを呼び出し、例外が発生します。この場合、何もする必要はありません。例外はcatchステートメントが見つかるまでスタックを歩きます。だから、本当に、あなたがする必要があるのは例外を捕まえることではないか、それを捕まえる必要がある場合(ログなどの目的で)、それを再スローします。
b)関連性のないクラスでコードをトリガする必要がある場合は、例外として例外的にイベントを使用することをおすすめします。あなたのクラス宣言で:私は
を入力したとして
public class ClassA
{
public static event EventHandler<Exception> OnException;
public void Notify(Exception ex)
{
if (OnException != null)
{
OnException(this, ex);
}
}
}
と通知するためには、その後、あなたが必要とするすべての
ClassA.OnException += (sender, exeption) =>
{
... some GetHashCode ..
};
にある...私は推測JotaBeは、すでに必要なすべてのコード例を追加しました
あなたはもう少し情報を与えなければならないでしょう。 winformsやasp.netにいますか?これはボタンクリックイベントなのでしょうか? – rie819
例外処理の用語である "スローされた"と "捕まえられた"というフレーズイベントは行わないでください。混乱の原因となります。 – asawyer