异常类主要有两个子类,IOException
和RuntimeExceptiong
分别是数据输入异常,运行时异常。
Throwable
的另一个类 Error
是系统异常,和程序无关。
try{
}catch(Exception e){
}finally{
}
-
try
会捕捉异常,使的程序能够继续运行,可以使用在有可能出错的地方。 -
catch
块,如果发生的异常类型和catch
的参数类型相同,异常会进入catch
块,可在此对异常进行处理。 -
finally 创建再
try
后执行的代码块。
无论是否发生异常,finally 代码块中的代码总会被执行。
在 finally 代码块中,可以运行清理类型等收尾善后性质的语句
public class Demo{
public static void main(String[] args){
System.out.print(getNumber(0));
System.out.print(getNumber(1));
System.out.print(getNumber(2));
System.out.print(getNumber(4));
}
public static int getNumber(int num) {
try{
int result=2/num;
return result;
}catch(Exception e){
return 0;
}finally{
if(num ==0){return -1;}
if(num ==1){return 1;}
}
}
}
问输出结果是多少?
finally是一定会被执行的,如果finally中使用return或者throw,那么会覆盖try和catch中的return或throw。
所以这一题结果是:-1 1 1 0