异常分为三种:
1、编译异常 :代码错误,编译时不通过
2、运行时异常 :编译时通过,但是在运行时却会报异常
3、逻辑异常 :编译和运行都正常,但是却没有得到想要的效果
异常类:
Error:如果报此类异常,表示此异常不是修改程序就可以解决的。
Exception:表示程序本身可以处理的异常
RuntimeEception:这种异常表示改进代码可以避免的异常
异常的处理机制:
当程序出现异常时,程序将停止往下执行,将异常返回到方法的调用处,如果方法的调用处有人为的捕捉(try catch),将执行catch中的捕捉异常,如果没catch进行捕捉,
程序会将异常继续往上抛,当抛到main方法的时候,系统将终止程序,打印出异常信息。
捕捉异常的格式:
try{
//可能会出现异常的代码
}catch(){
//捕捉异常信息
}
以上都在说系统自己发现异常,并自己抛出。也可以认为的抛出异常:
throw关键字就是抛出异常
throw new NullPointerException;
这样我就可以自己抛出一个异常进行捕获。
throws:提示程序有可能会抛出一个异常。
定义异常类:异常类必须继承Exception类。