关于Java中异常处理机制的疑问
今天在学习异常的时候有一些问题。通常处理异常编写规范是,被调用函数通过throws上抛异常,调用时通过try catch捕获并处理异常。
public void testElse() {
try {
testException();
} catch (Exception e) {
//异常捕获
}
}
public void testException() throws RuntimeException{
throw new NullPointerException();
}
这是通常的处理方式。
但是学习的时候发现,即使在testException方法中不使用throws上抛异常,抛出的异常依旧能够被catch捕获到
我们都知道,异常分为运行时异常和编译时异常,那是否只要是运行时异常就可以不用写throws关键字
