catch(Exception ex){
ex.printStaceTrace();
ex.getMessage();
public static void main(String[] args) {
try{
//可能发生异常的代码
Scanner in = new Scanner(System.in);
System.out.println("请输入被除数");
int num1 = in.nextInt();
System.out.println("请输入除数");
int num2 = in.nextInt();
System.out.println(num1+"/"+ num2 +"=" + num1/num2);
System.out.println("感谢使用本程序!");
System.exit(1);
}catch(Exception ex){
//异常处理的代码
// ex.printStackTrace(); 打印堆栈信息
// ex.
System.out.println(ex.getMessage());
}
}
}
- System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
- System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:return是回到上一层,而System.exit(status)是回到最上层
- 如果我们程序是按照我们预想的执行,到最后我们需要停止程序,那么我们使用System.exit(0),而System.exit(1)一般放在catch块中,当捕获到异常,需要停止程序,我们使用System.exit(1)。这个status=1是用来表示这个程序是非正常退出。
有return 也要执行完 finally 再执行return
final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例如关闭文件等。