异常
自定义异常时,什么时候选择继承Exception?什么时候选择继承RuntimeException?选择的依据是什么? --------------------编程问答-------------------- 去看看Throwable Exception Error RuntimeException 的继承关系就明白了--------------------编程问答-------------------- 自定义异常若继承RuntimeException如(这里把RuntimeException看做继承RuntimeException的一个自定义异常类):
public static void main(String[] args) {这里使用者(main函数)不用对这一异常进行try捕捉或throws继续往外抛,这样编译器不会报错是能运行的,在运行的时候符合自定义异常条件就自动转向自定义异常类。
ClassTest2 t = new ClassTest2();
t.eat();
}
public void eat()throws RuntimeException{
}
自定义异常若继承Exception如(这里把Exception看做继承Exception的一个自定义异常类):
public static void main(String[] args) throws Exception {这里使用者(main函数)必须对这一异常进行try捕捉或throws继续往外抛,要不然编译器在没运行时就会报错,如图:。 --------------------编程问答-------------------- 上面第二块的代码:
ClassTest2 t = new ClassTest2();
t.eat();
}
public void eat()throws Exception{
}
<span style="color: #FF0000;"> throws Exception</span>是 throws Exception
所以:
我们自定义异常一般都直接继承Exception。除非你写的自定义异常不想处理,又想让编译器在运行之前不报错,可以继承RuntimeException(RuntimeException毕竟是Exception的子类)
补充:Java , Java SE