出现运行时异常后,如果没有捕获处理这个异常(即没有catch),系统会把异常一直往上层抛,一直到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。
1. 异常处理三种方式
Try {} catch () {}
throw是语句抛出一个异常。语法:throw (异常对象); throw e;
throws是方法可能抛出异常的声明。
2.publicstaticvoidcount()throwsException {
inta= 1;
intb= 0;
try{
intc=a/b;// 如果此处不做异常处理(try catch , throws , throw等,),也可以在调用的方法里面处理,如果都不处理则,此次处理失败。
}catch(Exceptione) {
System.out.println(" catch 1");
thrownewException();//此处如果需要抛出异常,则方法必须要throws
}
System.out.println("---1----");//如果在catch中throw ,则 下面的代码行不会执行。
}
publicstaticvoidcount2(){
try{
count();// 如果调用方不处理异常,则会继续向上抛出异常。
}catch(Exceptione) {
System.out.println("----2----");
}
System.out.println("--main -- end--");
}
3.常见的异常