异常的解决

来源:互联网 发布:全国二手车评估软件 编辑:程序博客网 时间:2024/05/24 16:17

什么是异常?

异常是指在程序运行过程中所发生的不正常的事件,它会中断正在运行的程序。

错误还可以避免,但是异常无法避免。因为你无法预料到会发生的什么事。


java中异常的处理通过5个关键字来实现。

try \ catch \ finally \ throw \ throws

try:用来对代码进行捕获

catch:对产生的异常进行对应的处理

finally:不管是否发生异常代码块都要执行

throw:声明发放可能要抛出的各种异常

throw:手动抛出异常


public class ExceptionDemo {public void eat(){try{//异常后面的代码不会继续执行System.out.println("吃饭");System.out.println(1/0);//throw new NullPointerException();自己new一个异常}//抓取什么异常  catch 可以多写几个用来判断到底是什么 //一般只写一个父类的Exception 用来抓取全部 catch(Exception e){//一般输出 printStackTrace  用来打印看是什么异常e.printStackTrace();}//try - catch  是一个整体System.out.println("哈哈哈");}public static void main(String[]args){//创建对象 用来调这个方法  看是什么异常ExceptionDemo e = new ExceptionDemo();e.eat();}}
java产生异常的时候java会对应异常类型生成一个异常的对象,当try捕获到异常的时候catch会拿到异常对象和catch的后面的类型进行对比,如果对比成功执行这个catch,如果对比失败交给下一个catch快继续对比(有下一个catch的情况下)

try-catch-finally

public class FinallyDemo {public void tt(){try {System.out.println("跑");//int i = 1/0;} catch (Exception e) {e.printStackTrace();}finally{System.out.println("跑的快");}System.out.println("1111");}public static void main(String[]args){FinallyDemo f = new FinallyDemo();f.tt();}}
在tyr-catch-finally语句中,不管return在上面地方,在执行return之前都会调用finally代码块