9

多くの「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生する作業中のソリューションに問題があります。例外の原因となっている null オブジェクトを特定する最善の方法は何ですか?

これらすべての例外を 1 か所でキャッチしようとすることはできますが、null であるメンバーを特定する方法が見つからないため、適切に修正できます。

try {
}
catch (Exception ex)
{
if (ex is ReferenceNullException)
ex.??
}
}

スタックトレースを表示できるので、エラーの原因もわかると考えるのが妥当でしょう。

4

3 に答える 3

12

ちょっと考えてみてください。NullReferenceException です。つまり、オブジェクトへのNULL REFERENCEでメソッドを呼び出すか、プロパティにアクセスしようとしています。これは、アクセスしようとしているオブジェクト参照が EMPTY、null であることを意味します。それは存在しない。

したがって、あなたが見つけようとしているものは実際には存在しません。

通常、どのオブジェクト参照が null であるかを追跡するには、デバッガーが使用されます。例外の原因となっている行にブレークポイントを設定し、すべての変数を調べてどれが null かを確認します。

デバッガーは最高のツールです。

于 2012-08-27T15:09:44.513 に答える
-1

Try-Catch のドキュメントを確認してください http://msdn.microsoft.com/en-us/library/0yd65esw(v=vs.71).aspx

独自の方法でさまざまな例外を処理するために、try catch に複数の catch を含めることができます

try{
//do stuff
} Catch (NullReferenceException ex){

} Catch (Exception ex) {

}
于 2012-08-27T15:12:58.297 に答える