gpt4 book ai didi

java - java中需要抛出什么异常?

转载 作者:行者123 更新时间:2023-12-01 11:58:22 25 4
gpt4 key购买 nike

我有这两个java代码:

class test {
public static void main(String[] args) throws IOException {
System.out.println("Before try”");
try{}
catch(Throwable d ) {}
System.out.println("done");
}
}

它将在尝试完成之前编译并打印。

class test {
public static void main(String[] args) throws IOException {
System.out.println("Before try”");
try{}
catch(java.io.IOException e ) {}
System.out.println("done");
}
}
}

这会导致编译错误:

exception java.io.IOException is never thrown in body of corresponding 
try statement
at javaapplication8.test.main(Try.java:63)

要获得这些结果,可抛出异常和 IOException 之间有什么区别,是否有规则可以知道需要抛出哪个异常?

最佳答案

Java 有一个检查异常的概念。所有 Throwable 都会被检查,除非它们是 ErrorRuntimeException

的子类

在 catch 类中,编译器可以计算出您是否可以抛出已检查的异常(在正常情况下),但它无法判断您是否抛出了未检查的异常,因此如果您捕获任何未检查的异常,或者作为 parent ,它无法确定您是否可以扔掉它。

关于java - java中需要抛出什么异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28180085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com