java中的异常处理

异常分类:错误,异常{运行时异常{数组越界,类型转换错误,空指针访问错误},io异常{从一个无存在的文件读取数据,越过文件结尾继续读取数据,访问url连接错误}}

异常的处理机制:

处理异常:

try{。。。}

catch(exception1:范围由小到大 ){处理:追踪运行栈信息,输出异常信息。}

catch(exception2){处理2}

finally{无论是否发生异常都会执行!}

抛出异常:交给调用它的方法去处理。

 

写代码时如何避免运行时异常:

访问数组时,判断是数组是否为空,取得数组的大小后在做操作。

空指针,使用对象前,判断对象是否为空。

类型转换错误:做类型转换前,先判断被转换的对象类型。

重写方法时,子类方法不能抛出比父类范围更大的异常,

故将编译时异常转化为运行时异常(自定义异常处理类,继承运行时异常),尽量避免异常的抛出,会破坏分层结构,尤其是接口实现层对异常的处理,如果增加异常抛出,需要上层来处理,破坏代码的可读性.

Throwable 可以将所有异常抛出.

例如:DAO层异处理原则,接口实现方法体内,遇到编译时异常,需要处理异常并在异常处理中抛出运行时异常。保证代码的可读性。

 

运行时异常和编译时异常:(待续)

 

--下面给出一个运行时异常的类:

public class AppExceptionhl extends RuntimeException {
    String strErrorCode;

     public AppExceptionhl()
     {
         strErrorCode = null;
     }

     public AppExceptionhl(String str)
     {
         super(str);
         strErrorCode = null;
     }

     public AppExceptionhl(Exception e)
     {
         super(e.toString());
         strErrorCode = null;
     }

     public AppExceptionhl(String strErrCode, String strMsg)
     {
         super(strMsg);
         strErrorCode = null;
         strErrorCode = strErrCode;
     }

     public String getErrorCode()
     {
         return strErrorCode;
     }

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值