3

MSDN のヘルプ ドキュメントを調べて、Visual Basic のコツをつかみました。timers --one を使用して例を試した後、ラベルとタイマー コンポーネントをデザイナーにドラッグし、コンポーネント サブルーチンに以下を追加します。

Label1.Text = My.Computer.Clock.LocalTime.ToLongTimeString

デバッグ中の即時ウィンドウの出力は次のとおりです。

'System.InvalidCastException' 型の
初回例外が Microsoft.VisualBasic.dll で発生しました 'System.InvalidCastException' 型の初回例外が Microsoft.VisualBasic.dll で発生しました

コンテキスト メニュー コンポーネントを使用した以前の MSDN の例でも同じエラーが発生します。Try...Catch...Finallyこのエラーを出して先に進むべきですか? それとも、もっと深刻な問題を抱えているのでしょうか?

4

5 に答える 5

0

First Chance Exception のデバッグと診断のための迅速かつ簡単な解決策は次のとおりです。

AppDomain.CurrentDomain.FirstChanceException += CurrentDomainOnFirstChanceException;

その後

private void CurrentDomainOnFirstChanceException(object sender, FirstChanceExceptionEventArgs firstChanceExceptionEventArgs)
    {
        if (firstChanceExceptionEventArgs.Exception is NullReferenceException)
        {
            // do your handling and debugging :)
        }
    }

例外処理はコストがかかるため、ランタイム中に複数の First Chance Exception が発生すると、アプリケーションのパフォーマンスが低下する可能性があります。特に Web アプリでは。このハンドラーを追加して、特定の最初のチャンスの例外を調べて、それらを回避/修正しようとすることができます。

于 2015-05-27T08:51:19.290 に答える
0

IDE で、[ツール] > [オプション] > [プロジェクトとソリューション] > [VB デフォルト] に移動し、Option Strict を [オン] に設定してみてください。これにより、プロジェクトを実行するときではなく、コンパイルするときにキャストの問題を検出できる場合があります。

「最初のチャンスの実行」は、必ずしもコードに問題があることを意味するわけではありません。これは、IDE、コンパイラ、またはその他の関連するコンポーネントがエラーを検出して処理し、その過程でデバッガーに通知され、例外が即時ウィンドウに報告されていることを意味する可能性があります。これは、トピックに関する優れた投稿です。

http://blogs.msdn.com/davidklinems/archive/2005/07/12/438061.aspx

于 2009-03-25T05:04:14.680 に答える