問題タブ [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 - いくつかのランタイム HTTP 例外を処理するための良い方法は何ですか?
次のような小さなメソッドがあります。
}
メソッド自体は非常に単純ですが、発生する例外がたくさんあり、それらをどのように処理すればよいかわかりません。単純な「e.printStackTrace()」を実行してそれらを抑制するのは良い考えとは思えないので、例外処理のベスト プラクティスを読み始めましたが、まだ少し迷っています。例外はどうすればいいですか?
null
メソッドから戻りたくないので、例外を処理する必要があります。メソッドから を返すnull
ということは、呼び出し元のメソッドが、メソッド内で例外が発生したかどうかについての洞察を持たないことを意味します。
カスタム例外を作成してそれを発生させる必要がありますか、それとも単純に未チェックの例外を発生させる必要がありますか?
呼び出しメソッドは、実際には私のメソッドに影響を与えることはできません。つまりSocketException
、ネットワーク接続に問題があったIOException
場合に発生する可能性があり、ストリームの読み取りに問題があった場合に発生する可能性があります。呼び出し元のメソッドができることは、後でこれを再試行することだけです。
トラップしたすべての例外を再度スローすると、呼び出し元のメソッドが例外処理ブロックでいっぱいになってしまいます。
(これが些細な質問のように思われる場合は申し訳ありません。私は単により良いコードを書くことを学ぼうとしています。ありがとう。)
java - Java 6ですべてのチェック例外を(単一ブロックで)キャッチする方法は?
重要: この質問は、Java 6 (およびそれ以下) にのみ関連しています。
ここの階層は、JavaException
が 2 つのタイプに分けられることを示しています:RuntimeException
と[not a RuntimeException] :
代わりにUncheckedException
andのように分割したほうがよかったのではないでしょうか? CheckedException
たとえば、次のステートメントにはかなりの数のチェック例外があります。
成功するか失敗するかだけに本当に興味があるので、チェックされた例外をグループとして処理したいのですが、予期しないエラーをキャッチするのは良い習慣ではないため、チェックされていない例外は扱いません。したがって、これを念頭に置いて、次のようなことができるかもしれません。
しかし、これはひどくハッキーに思えます。より良い方法はありますか?
java - Java、C ++、Pythonの例外モデル
ねえ、Javaの例外モデルはC ++とPythonのモデルとどう違うのだろうか?
Javaだけが例外をチェックしたのだと思いましたが、私が読んだことから、Pythonも例外をチェックしましたか?
どんな考えでも素晴らしいでしょう、ありがとう
java - NIO2 API の使用時にチェック例外を取り除く
現在、Guava API の助けを借りて次のコードを使用して、クラスパスからプロパティ ファイルをロードしていました。
Java7SE で導入された新しい NIO2 API を試し、Guava API 呼び出しを削除することにしたので、コードを次のように変換しました。
URL
しかし、変更されたコードは、との間で変換が発生する行でチェック例外をスローしますURI
。私はそれを取り除くことができる方法はありますか?Path
たとえば、指定されたインスタンスを取得できますURL
か?
PS私は、変更されたコードが元のものと意味的に同じではないことを認識しています-リソースが見つからない場合はグアバのgetResource
スロー、この場合はJavaのリターン。IllegalArgumentException
getResource
null
java - 処理された例外の throws ステートメント -- Java
次のコードがあるとします。
someMethodはIOExceptionをスローし、他のチェック例外はスローせず、その例外自体を処理します。
正確には
その宣言で持ち込んでいますか?私が知っていることから、someMethod()を呼び出すメソッドがそのIOException自体を処理できるようになっています。
ここで他に何か起こっていますか?
c# - HttpWebRequest の適切な例外処理
そのため、System.Net アセンブリで APIを使用していHttpWebRequest
ますが、C# にはチェック例外がないため、ネットワーク エラーなどの一般的な原因によって発生する避けられない例外を適切に処理するために、try-catch ブロックをどこに配置すればよいかわかりません。ご存じのように、Java では、これらを単純な古いチェック済みと呼びますIOExceptions
。
これは私がこれまでに持っているものです。ネットワーク エラーを処理するように try-catch ブロックが正しく設定されていますか? 正しいメソッド呼び出しをラップしていますか? ドキュメントを見ると、それらは正しいと思いますが、もう 1 組の目が必要です。
syntax - プロパティ宣言のどこに throws 句を配置しますか?
コンパイラはこのコードについて不平を言います:
メッセージは次のとおりです。
throws
プロパティ宣言のどこに句を入れますか?
java - JDK からのその例外はどのようにコンパイルされますか?
ファイルは java.nio.channels.SocketChannel.java です。JDK7u45。抜粋は次のとおりです。
コンパイラはどのようにそのコードを渡しましたか? 署名はIOExceptionを宣言しますが、メソッドの本体はThrowableをキャッチしてそれを取り消します。何がわからないのですか?