問題タブ [checked-exceptions]
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 - これらの例外を解決するにはどうすればよいですか?
公平を期すために、私はこれらの例外を取得していませんが、これらの例外をカバーする方法を見つけようとしているだけです。例外は NosuchElementException と NumberFormatException です。
注: txt ファイルに問題がないため、このプログラムは完全に機能します。ただし、数字ではないものを導入すると失敗します。
問題が発生する可能性がある主なクラスは次のとおりです。
BankReader.java
ここに私が取り組んでいるtxtファイルがあります:
これは私自身の txt ファイルですが、数字ではない文字、または口座番号はあるが残高がない文字、またはその逆の文字が含まれるテキスト ファイルにアクセスするとどうなるでしょうか。これらの例外にどのように対処できるか知りたいです。
私が試したこと:
例外から離れるために scan.nextLine() を実行しようとしましたが、別の例外が発生するだけです。
また、正規表現を使用して文字列が数値かどうかを確認する方法を使用しようとしました。問題は、文字列ではない変数を使用していて、それ以上チェックを作成したくないことです。
例外が発生した後、スキャナーを回復できず、何をしてもうまくいかないように思えます。
java - 例外処理における Java パフォーマンスの問題
Java の Checked および Unchecked Exception を認識しています。
多層環境では、未チェックの例外はチェック済みの例外よりも優れたパフォーマンスを発揮しますか?
java - インターフェースと例外
私はチュートリアルポイントでインターフェースについて読んでいて、次のことに出くわしました。
「チェックされた例外は、インターフェースメソッドによって宣言されたもの、またはインターフェースメソッドによって宣言されたもののサブクラス以外の実装メソッドで宣言されるべきではありません。」
誰かが私にこれが何を意味するのか説明できますか?
java - コンパイル エラー:対応する try ステートメントの本体で例外がスローされることはありません
Java をよりよく学ぶために、私は例外処理を理解しようと努めてきました。次のコードがコンパイルに失敗する理由がわかりません。
コンパイラ メッセージは次のとおりです。
ブロックではtry
、メソッド exTest.doExTest() が呼び出されます。このメソッドで InterruptedException をキャッチし、そのcatch
ブロックで新しい StupidException をスローします。
では、なぜコンパイラはそれがスローされていないと言うのでしょうか? 私は何が欠けていますか?専門家が私の間違いを理解するのを手伝ってくれますか?
java - 例外階層/try-multi-catch
2 番目の catch ブロックがコンパイラによって到達不能コードと見なされない理由を誰か教えてもらえますか? ただし、次の場合:
2 番目の catch ブロックは到達不能と見なされますか?
結局、FileNotFoundException は IOException の下にあり、ちょうど Exception の下にあります。
編集明確にしてください: コンパイラは、メソッドの throws 句に基づいて、メソッドによって例外がスローされたことを認識します。ただし、特定のタイプの例外 (そのクラスの例外の下) を必ずしも認識しているとは限りません。したがって、メソッドが例外 'A' をスローした場合、コンパイラは実際の例外が 'A' なのか 'A' のサブタイプなのかを判断できません。これは実行時にのみ決定されるためです。ただし、コンパイラは、タイプ「X」の例外がスローされないことを認識しているため、X の catch ブロックを指定するのは誤りです。これは正しいですか?
java - IntelliJ: メソッド シグネチャで宣言されているが、本体では決してスローされない Checked 例外を検索する
ここで、かなり単純な IntelliJ/tool の質問があります。
現在、いくつかのレガシー コードを扱っており、あちこちでやり直しを始めています。私が頻繁に遭遇したのは、メソッド シグネチャで宣言された (チェックされた) 例外ですが、これらの例外は本体内でスローされることはありません。
この問題は主に MVC コントローラーで発生するため、これらの宣言はインターフェイスなどによっても強制されません。MVC コントローラーは明らかに常に何度もコピー アンド ペーストされます。
そのような宣言された例外を IntelliJ で検索する方法があるかどうか知りたいです。
キャレットをthrows
宣言された例外がスローされることはないため、キーワードは何も強調表示しませんが、エディタにはエラー マーキングも表示されません
。その仕事をしますか?
前もって感謝します。