問題タブ [unreachable-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 到達不能コードを返す場合はネスト
私は質問と回答の(疑似)AIインターフェースを行っています。私の「回答」クラスは一連のifステートメントです。メッセージの「a」の場合、この「b」を返します。
ネストされたifを挿入することで、さらに深みを与えたいのですが、その2番目のifは「到達不能コード」を与えています。解決するにはどうすればよいですか?私がしようとしていることを行うためのより良い方法はありますか?
メインクラス:
...
beginAnswers クラス:
c# - 型を比較するときに到達できないコード
質問: else ステートメントに到達できません。何が間違っていますか?
プログラミングは非常に新しく、型を比較しようとしています。たとえば、整数を求めているときに人々が文字列を入力できないなどです。
私のコードはおそらくかなり悪いです。ヘッダーを取得できれば、何をすべきか、if 引数が else 部分をスキップする理由は本当にうれしいです!
ありがとう!
:c
c# - if / endif C# で「到達不能なコードが検出されました」
ローカルではすべて正常に動作しますが、「到達不能なコードが検出されました」というエラーが表示されます。
そのコードは次のとおりです。
4行目に「到達不能」というメッセージが表示されますreturn "http://172.16.40.39:1855";
このステートメントは正しく設定されていますか?
parsing - ステートメントが返されない場合は、Finally ブロック内のステートメントが返されます
上記のコードで、Catch から return ステートメントを削除すると、finally ブロックの後のステートメントは実行されませんが、パーサーによって到達可能です。同じシナリオで、finally ブロックに return を書き込むと、同じステートメントにパーサーが到達できないため、前のケースでステートメントがパーサーに到達できる場合、ステートメントが実行されないのはなぜですか?
c# - 静的 EventHandler コールバックでの到達不能コード警告
興味深い問題が発生しており、誰かが光を当てることができるのではないかと思います。現在、警告が表示"Method never reaches end or 'return' statement"
されています: イベント ハンドラー デリゲート コールバックで、かなり奇妙です。
SCB_
次のコードを検討してください (関数は無視できます。質問には関係ありません)。
警告がオンになっていEventQueue_AppExiting
ます。ここが奇妙な部分です。登録解除をコメントアウトすると_eventQueue.AppExiting -= EventQueue_AppExiting
、警告が消えます。
コンパイラの到達不能パスのバグのように見えるものに対して、さまざまな「解決策」を試しました。
- 静的クラスを非静的にし、それに応じて調整します
- を静的にし、それに応じて調整
event
しますUnityEngineQueue
- コールバック メソッドの最後に登録解除イベントを配置します。
void
SCB_
関数の呼び出しをサニティ チェックにコメント アウトします。- その他のさまざまな
Spaghetti at the wall
ソリューション
上記のすべてで、コンパイラの動作に変化はありませんでした。私たちの最善の推測は、コンパイラーが登録解除を検出し、デリゲートが削除されているため、実行時に実行を完了できないと考えていることです。ただし、呼び出しが既に開始されているため、スタックは削除後も実行を継続する必要があると思います。
これがアプリケーションの実行に悪影響を及ぼしているようには見えませんが、イベントの呼び出し条件 (アプリケーションの終了) の性質上、デバッグが困難です。
コンパイラは何を見ているのでしょうか、そして/または私たちが間違っている可能性があるのは何ですか?
P.S.
コンテキストを少し説明すると、このクラスは、同様の API を使用してさまざまなプラットフォーム固有のライブラリへstatic
のブリッジとして機能するためです。extern
しかし、その事実は質問とはほとんど関係がなく、「EWWWW 静的クラス」の感情を鎮めるためのものです。
java - 到達できないコード - try-catch-finally
制御が到達しないことが保証されているコード行をJavaが見つけた場合、コンパイラは到達不能コードエラーを報告します。
次のコードを検討してください。
上記のコード
1では、 try ブロックは 1 を返すことによって終了することが保証されていますが、finally ブロックの後の行 (LINE-2 以降) には到達可能です。
2 . catch ブロック (LINE-1) をコメントすると、LINE-2 に到達できなくなります。
なぜそうなのか。コンパイラは、ケース 1 の try ブロックで無条件のリターンを確認できません。