java中如何编写未检查异常?

Can*_*gir 3 java exception

Java中是否可以编写未经检查的异常?也许告诉编译器在编译时不要检查抛出是个好主意?

JVM 检查异常与非检查异常有何不同?是 JVM 还是 Java 类级别?

ζ--*_*ζ-- 6

未经检查的异常主要是编译器级别的,因为它们在内部以相同的方式抛出。唯一的区别是它们要求在代码和方法签名中明确。

\n

RuntimeException您可以通过继承 from而不是 来创建未经检查的异常Exception

\n

JLS 11.2 规定

\n
\n

Java 编程语言要求程序包含检查异常的处理程序,这些异常可能是由于执行方法或构造函数(\xc2\xa78.4.6、\xc2\xa78.8.5)而产生的。编译时检查是否存在异常处理程序旨在减少未正确处理的异常数量。对于每个可能结果的已检查异常,方法或构造函数的 throws 子句必须提及该异常的类或该异常类的超类之一 (\xc2\xa711.2.3)。

\n

....

\n

未经检查的异常类 (\xc2\xa711.1.1) 免于编译时检查。

\n
\n