try、catch、finally的执行顺序
1.try与catch:首先执行try语句块的代码块,如果碰到异常就跳出到catch语句块里面,不再执行其他的代码块转而执行catch里面的代码块。(可以理解为catch 是给try 擦屁股的好人)
2.try、catch与finally: try与catch的运行顺序与上相同,只是finally里的语句块一定会执行。
异常分类
- 必检异常(checked exception):只有java语言提供了Checked异常,Java认为Checked异常都是可以被处理的异常,所以Java程序必须显示处理Checked异常。如果程序没有处理Checked异常,该程序在编译时就会发生错误无法编译.
- 运行异常(runtime exception):顾名思义就是运行时发出的异常。例如:两数相除除数为0.
自定义异常
package com.xiamen.exception;
public class NegativeException extends RuntimeException {
private static final long serialVersionUID = 1L;
private int value;
public int getValue() {
return value;
}
public NegativeException() {
}
public NegativeException(String msg) {
super(msg);
}
public NegativeException(String msg ,int value) {
super("cause by:"+msg);
}
}