五、异常的处理

1.         异常的概念和分类

程序在运行过程中出现的错误。

异常分为两大类:

error:错误,一般这个错误用程序解决不了。

Exception:异常(这一类的问题需要开发人员解决,在写程序时需要考虑这一类的错误)

Exception异常又分为两类:

  运行时异常:ArithmeticExceptionNullPointerExceptionArrayIndexOutOfBoundsException

在运行的过程中才会抛出的异常。

  受检查异常(非运行时异常):ClassNotFoundException

  我在编译时就检查该异常是否需要处理。

2.         处理异常的5个关键字

 

try:来包含可能出现错误的代码块

catch:捕获在try中抛出的异常,并对该异常进行处理。

【注意点】:

可以通过catch捕获多个异常,catch块的编写顺序,从小到大。

Try关键字不能单独使用,要么和catch结合使用,要么和finally结合使用。

Finally:无论是否出现异常,均执行finally关键字包含的代码块。

       (当有些代码必须需要执行的时候,那么就可以把这部分代码放入到finally语句块:比如说资源的关闭,数据库连接的关闭。

 

 

throws:声明异常,在方法的声明出使用,

作用:声明该方法可能会抛出的异常类信息。

/**

     *@paramargs

     */

    publicstaticvoid main(String[] args) {

       ThrowsDemo01 t = new ThrowsDemo01();

       try{

        t.div(8,0);

       }catch(ArithmeticException ex){

           ex.printStackTrace();

       }

    }

   

    publicint div(int num1,int num2)throws ArithmeticException{

       int result = 0;

       if(num2==0){

           thrownew ArithmeticException();

       }else{

           result = num1/num2;

       }

       return result;

      

    }

 

throw:抛出异常

try{

           String str = null;

           //System.out.println(str.length());

           //throw关键字使用语法格式:throw 异常类对象;

           //抛出空指针异常,显示的抛出

           thrownew NullPointerException();

       }catch(NullPointerException nullEx){

           System.out.println("通过throw抛出了空指针异常....");

       }

 

3.         异常类的两个常用的方法

printStackTrace();:打印输出方法栈的信息。(可以通过打印方法栈的信息来跟踪错误发生在哪里)

getMessage()获取的是异常提示信息

4.         自定义异常?

会编写自己的异常类,自己的异常类来封装底层异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值