异常处理机制:
1、程序运行时出现异常,会自动生成一个异常类对象,该对象被提交(抛出)给java虚拟机,交给虚拟机程序就中止
2、要在异常交给虚拟机之前逮住,该过程称为捕获异常.
3、捕获异常要进行一些处理
抛出异常
1)JAVA自带的,API中的包类中的方法指定有写throws的方法,由系统自动抛出.
2)用户程序自定义的异常不能由系统自动抛出,定义后,并且必须用throw语句抛出这个异常类的对象
throw 异常对象;
注:
1、throw语句一般被定义为满足一定条件时执行.如放在 if 分支中.
2、使用throw语句的方法,或者调用其他类的有异常抛出的方法时,应在方法头定义中增加throws异常类名列表.
捕获异常,也可以不写
class ByteSizeException extends Exception {
ByteSizeException() {
System.out.println("\n超出字节范围的数字");
}
}
public class TestException {
protected TestException() {
}
public static void main(String args[]) throws ByteSizeException{ //可以不写
try {
int num = Integer.parseInt(args[0]);
if (num <= 127 && num >= -128 ) {
System.out.println("\n字节值 "+num);
}
else {
throw new ByteSizeException();
}
} catch (Exception e) {
System.out.println("你输入的不是数字");
}
}
}
try{
……
}
catch(异常类名 对象名){
……
}
catch(异常类名 对象名){
……
} finally{
……
}