-1

私は愚かな質問があります。私は gtksharp で monodevelp を使用しています。クリックするとボタンが作成され、エントリ テキストがクリアされますが、クリック ボタン関数内で monodevelop が生成されます。

throw new System.NotImplementedException ();

そして、私はこのコードの後に​​書きます:

entry1.Text = "";

そして、私がそれをビルドすると、この警告が表示されました:

 Warning CS0162: Unreachable code detected (CS0162) 

したがって、コードがこの例外なしで機能することを意味します。警告の意味を理解したいと思います。gtk#コンポーネントの処理方法を学ぶための基本的な本やドキュメントへのリンクを誰かが教えてくれれば、本当に助かります。ありがとう

4

6 に答える 6

3

例外をスローすると、プログラムが停止し、その後のコードが実行されない場合は、次の行を削除します。

throw new System.NotImplementedException ();

System.Exceptionクラスに関する注釈は、.NET で例外のスローと処理がどのように機能するかについての重要な情報を提供します。

于 2013-02-15T07:50:34.957 に答える
1

throw new System.NotImplementedException ();テキストを空の文字列に設定して実装を提供したため、行を削除する必要があります。

警告が表示される理由Unreachable code detected (CS0162)は、最初の行で例外をスローし、テキスト プロパティを空の文字列に設定しているためです。これは決して実行されません。System.NotImplementedExceptionに関する限り、それは

要求されたメソッドまたは操作が実装されていない場合にスローされる例外。

于 2013-02-15T07:49:49.293 に答える
1

例外(エラー) がスローされていますこれが発生すると、関数は戻り、例外ハンドラー (try/catch) のスタックを検索します。見つかった場合、例外は処理されて消えます。処理されない場合、プログラムを終了する必要がある場合があります。

この場合、throw new System.NotImplementedException ();really は というエラーを作成して送信System.NotImplementedException()することを意味します。この例外がスローされると、関数は戻ります。したがって、それ以降は何も呼び出されません。これがエラーの原因です。

于 2013-02-15T07:56:04.697 に答える
0

この行

throw new System.NotImplementedException ();

自動生成されます。自動生成されたコードブロックを使用するのではなく、実際のコードでメソッドを埋める必要があることを開発者に伝えます。それを削除してメソッドを実装するだけです。

于 2013-02-15T07:51:08.703 に答える
0

メソッドから次の文字列を削除します。

throw new System.NotImplementedException ();
于 2013-02-15T07:49:29.973 に答える
0

到達不能コードが検出されたということは、コードの一部が実行されないことを意味します。

例外をスローしたため、コントロールはコール スタックを下方に伝播し、例外を処理できるレベルに移動します。

于 2013-02-15T07:53:39.513 に答える