1. ホーム
  2. c#

[解決済み] C#でJava形式のthrowsキーワードを使用するには?

2022-10-30 22:18:46

質問

Javaでは throws キーワードは、メソッドがそれ自身で例外を処理せず、呼び出し側のメソッドに例外を投げることを宣言することを可能にします。

C#で同様のキーワード/属性はありますか?

同等のものがない場合、どのようにして同じ(または類似の)効果を達成することができますか?

どのように解決するのですか?

Javaでは、例外を処理するか、例外を投げる可能性のあるメソッドとしてマークする必要があります。 throws キーワードを使用します。

C#にはこのキーワードやそれに相当するものがありません。C#では、例外を処理しないと、捕まるまで、あるいは捕まらない場合はプログラムを終了させるまで、例外がバブルアップします。

もし、処理してからre-throwしたい場合は、次のようにします。

try
{
  // code that throws an exception
}
catch(ArgumentNullException ex)
{
  // code that handles the exception
  throw;
}