Java 异常处理机制

1. 异常分类

    1. 结构图

   

    2. 异常分为:已检查异常和未检查异常。Error是由java 运行时系统内部错误和资源耗尽引起,是不可处理的,runtime exception一般是由程序错误引起的,如:空指针异常,数字下标越界异常,类型转换错误异常等,是我们可以在程序中处理的。已检查异常在程序中必须抛出异常或者捕获异常,不然会报错。

2. 异常处理

    1.抛出异常

        void readData()throws IoException{  //第二步

                   //第一步   确定要异常,new

                    throw new IoException();  //此处可以是已有的异常,也可以是自定义的异常

        }

    2.自定义一个异常

        class MyException extends Exception{  //此处继承exception或其子类

                public MyException(){}

                public MyException(String gripe){super(gripe)}

        }

    3.捕获异常

        try{

                //程序执行代码

        }catch{

                //异常处理代码

        }

    4.改变异常类型

        比如一个servlet中有一个sql异常,但是对于调用者不需要知道细节,只需要知道servlet是否有错误

        try{

        }catch(sqlException e){

               throw new ServletException();  //改变异常类型

        }

        包装原来异常

        catch(sqlException e){

              Throwable se =new ServletException("data cuowu");

                se.initCause(e);

                throw se;

        }

3. 常见异常

    1. 未检查异常:也叫runtimeException,在java.lang包下,可以不在程序中处理

           NullPointerException (空指针)

           IndexOutOfBoundsException (数组下标越界)

           ArithmeticException (算数异常)

           ArrayStoreException (数组存储异常)

           ClassCastException (类型转换异常)

           IllegalArgumentException (非法参数异常)

        检查异常:

            IOException (io异常)

            SQLException (sql 异常)

            ClassNotFountException (未找到类异常)

            DataFormatException (数据格式化异常)

            NoSuchMethodException (方法未找到)

            NoSuchfiledException (属性未找到)

4. 日志  

        可以使用log4j日志框架,进行错误信息记录

    

 

转载于:https://my.oschina.net/u/3402916/blog/893862

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值