-1

すべてのマネージ コードを使用して、Windows 7 32 ビット マシン上の Visual Studio 10 で簡単なコンソール アプリを作成しました。デバッグ モードでは問題なく動作しますが、別のマシンにデプロイして実行すると、次のメッセージが表示されます。

[my assembly] has encountered a problem and needs to close.  We are sorry for the inconvenience.

...そして、私がこれまで有用だとは想像もできなかった不可解なエラーレポートを生成します。問題は次のとおりです。例外は、エラーを適切に処理するように設計された try-catch ステートメント内で発生しています。ただし、例外はキャッチされないようです。

どうすればいいの?どうすれば修正できますか?

4

2 に答える 2

2

コード内の別の場所から例外がスローされるか、特定のタイプの例外 (またはその親タイプの 1 つ) を catch ブランチにリストしていません。

「不可解な」エラー メッセージは、実際には、何が問題なのか (例外の種類)、どこで発生したのか (スタック トレース) を見つけやすくするために設計されています。あなたはそれを読む/「解読する」ことを学ぶべきです

于 2012-04-17T16:30:03.553 に答える
1

アッティラの言う通り、別の場所から投げられたのだろう。タイプをException一般的なものに設定する必要があります。エラーが発生したと思われる場所にエラーがスローされている場合は、間違いなくそのキャッチになります。問題が理解されたら、タイプをより具体的なものに調整できます。

また、適切に処理する代わりに、まずエラー メッセージをコンソールに出力して、問題の原因を確認してください。

キャッチされていない場合は、その内部からスローされていないtryため、問題のすべてのコードがラップされていることを確認してください。

于 2012-04-17T16:32:13.363 に答える