タグ付けされた質問 「throws」



2
Swiftのスローと再スローの違いは何ですか?
それを把握するためにいくつかの参照を検索した後、私は間の違いを理解に関する有用な-and simple-説明を見つけることができませんでした-unfortunately-throwsとをrethrows。それらをどのように使用すべきかを理解しようとすると、ちょっと混乱します。 私はthrows、次のように、エラーを伝播するための最も単純な形式の-default-にある程度精通していることを述べておきます。 enum CustomError: Error { case potato case tomato } func throwCustomError(_ string: String) throws { if string.lowercased().trimmingCharacters(in: .whitespaces) == "potato" { throw CustomError.potato } if string.lowercased().trimmingCharacters(in: .whitespaces) == "tomato" { throw CustomError.tomato } } do { try throwCustomError("potato") } catch let error as CustomError { switch error …

7
Javaメソッド宣言でthrowsを使用するのはいつですか?
そのため、Javaでの例外処理について基本的には十分に理解していると思いましたが、最近、混乱と疑問を与えるコードを読んでいました。ここで取り上げたい主な疑問は、次のようなJavaメソッド宣言をいつ使用する必要があるかということです。 public void method() throws SomeException { // method body here } 私が収集したいくつかの同様の投稿を読んだところ、throwsは、メソッドの実行中にSomeExceptionがスローされる可能性があるという一種の宣言として使用されています。 私の混乱は、次のようなコードから来ています。 public void method() throws IOException { try { BufferedReader br = new BufferedReader(new FileReader("file.txt")); } catch(IOException e) { System.out.println(e.getMessage()); } } この例でスローを使用したい理由はありますか?IOExceptionのような基本的な例外処理を行っているだけの場合は、try / catchブロックが必要になるだけのようです。

9
Runnableのrun()に例外をスローさせる方法はありますか?
Runnableを実装するクラスのrun()で呼び出しているメソッドは、例外をスローするように設計されています。 しかし、Javaコンパイラーではそれができず、try / catchで囲むことをお勧めします。 問題は、それをtry / catchで囲むことにより、その特定の run()が役に立たなくなることです。私はその例外をスローしたいです。 run()自体を指定するthrowsと、コンパイラは次のように文句を言います。Exception is not compatible with throws clause in Runnable.run() 通常、私はさせないで完全に元気です run()に例外をスローさ。しかし、私にはその機能が必要な独特の状況があります。 この制限を回避するにはどうすればよいですか?

1
例外をキャッチして再スローするが、例外ではない
私は次のようなコードに遭遇しました: void run() { try { doSomething(); } catch (Exception ex) { System.out.println("Error: " + ex); throw ex; } } void doSomething() { throw new RuntimeException(); } このコードは私を驚かせます。- methodはそれをキャッチしてから再スローするため、をスローrun()できるように見えますが、メソッドがスローするように宣言されておらず、明らかにそうである必要はないからです。このコードは問題なくコンパイルされます(少なくともJava 11では)。ExceptionExceptionException 私の予想ではthrows Exception、- run()メソッドで宣言する必要があるでしょう。 追加情報 同様に、if doSomethingがスローするように宣言されている場合、キャッチされて再スローされても、-methodで宣言するIOExceptionだけで済みIOExceptionます。run()Exception void run() throws IOException { try { doSomething(); } catch (Exception ex) { System.out.println("Error: …
10 java  exception  throws 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.