public class Div2 {
public static void main(String args[]) {
int m = Integer.parseInt(args[0]);
int n = Integer.parseInt(args[1]);
System.out.println("Begin of div");
int r = div(m, n);
System.out.println("End of div");
System.out.println(m+"/"+n+"="+r);
}
public static int div(int m, int n) {
int r = 0;
try {
r = m / n;
} catch (ArithmeticException e) {
System.out.println(e);
} finally {
System.out.println("this is finally of div");
}
return r;
}
}
处理:
try { r = m / n; } 尝试运行
catch (ArithmeticException e) { System.out.println(e); }
如果捕获到错误,传到 ArithmeticException e 中。然后打印
finally {System.out.println(“this is finally of div”);}
不管有没有错误都会执行 finally 里面的程序
ArithmeticException 这个变量是一种异常类型 (算数异常)
在try或catch 块中有 return或者throw语句。
那么会先执行 finally块,再返回来执行 return或者throw语句
所以不能再 finally块 中添加 return