Questions tagged «throws»



7
什么时候在Java方法声明中使用抛出?
因此,我认为我对Java中的异常处理有很好的基本了解,但是最近我正在阅读一些使我有些困惑和怀疑的代码。我要在这里解决的主要疑问是,一个人何时应该使用以下方法抛出Java方法声明: public void method() throws SomeException { // method body here } 通过阅读一些类似的文章,我收集到的引发信息被用作一种声明,表明可以在方法执行期间引发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块即可。

2
Swift中的掷球和掷球有什么区别?
经过寻找一些参考的数字出来,-unfortunately-我找不到任何关于理解之间的差异有用-和简单-描述throws和rethrows。当试图了解我们应该如何使用它们时,这有点令人困惑。 我要说的是,我对-default-最为熟悉,它throws具有传播错误的最简单形式,如下所示: 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 { …

9
有没有办法让Runnable的run()抛出异常?
我在实现Runnable的类中的run()中调用的方法被设计为引发异常。 但是Java编译器不允许我这样做,建议我用try / catch包围它。 问题是,通过用try / catch包围它,我使特定的 run()变得无用。我确实想抛出该异常。 如果我指定throws的run()的本身,编译器会抱怨说Exception is not compatible with throws clause in Runnable.run()。 通常我完全不放过 run()抛出异常的。但是,在我必须具有该功能的特殊情况下。 如何解决此限制?

10
抛出或尝试接球
决定是在方法中添加throws子句还是使用try-catch?的一般经验法则是什么? 根据我自己的了解,throws当调用方破坏了合同的末端(传递的对象)时,try-catch应使用;当在方法内部执行的操作期间发生异常时,应使用。它是否正确?如果是这样,应该在呼叫方执行什么操作? PS:通过Google和SO搜索,但希望对此有一个明确的答案。

1
捕获并重新抛出异常,但这不是异常
我偶然发现代码看起来像这样: void run() { try { doSomething(); } catch (Exception ex) { System.out.println("Error: " + ex); throw ex; } } void doSomething() { throw new RuntimeException(); } 这段代码使我感到惊讶,因为它看起来像run()-method能够抛出an Exception,因为它可以捕获Exception然后重新抛出它,但是该方法未声明为throw Exception,显然不需要。这段代码可以很好地编译(至少在Java 11中)。 我的期望是我必须throws Exception在run()-method中声明。 额外的信息 以类似的方式,如果doSomething被声明为throw,IOException那么即使被捕获并重新抛出,也只需IOException在run()-method中进行声明Exception。 void run() throws IOException { try { doSomething(); } catch (Exception ex) { System.out.println("Error: " …
10 java  exception  throws 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.