简单理解异常处理

异常的理解:在我们生活中,本来计划好的事情发生意料之外的事情,叫意外;在java中就是出错(bug),也称为出现异常。

  • 经常遇到各类的异常

                      (转载)http://www.importnew.com/16725.html【想了解可以看一下】

  • 异常的分类:(举个实例)

Class ArrayIndexOutOfBoundsException

java.lang.Object 

    java.lang.Throwable 

        java.lang.Exception 

           java.lang.RuntimeException 

                java.lang.IndexOutOfBoundsException 

                    java.lang.ArrayIndexOutOfBoundsException

从上面可以看出,出现的异常就是java中一些类(也是一个线程)

(注:此图转载至其他地方)

  • 异常的处理方式:
      1. 自己处理
      2. 不处理直接抛出
    1. 自己处理异常
      1. 自己处理[捕获异常]

a、 try-catch的语法结构及链式结构多异常处理方式

  • 语法:

try{

       //可能产生异常的代码

}catch(捕获的异常类型 e){//e是形式参数

         //该异常捕获之后要做的操作

}catch(捕获的异常类型 e){//e是形式参数

          //该异常捕获之后要做的操作

}finally{

          //异常发生之后一定会执行到的语句块:

         //①流资源关闭②释放锁

}

b、语句块执行顺序:

  1. 顺序执行:进入异常捕获语句块
  2. 如果产生异常,执行catch捕获,捕获到对应异常,并且对应catch后面的代码块
  3. finally语句块一定会执行到:前提前面语句没有执行System.exit(0)退出虚拟机
    1. 异常信息处理方式二抛出异常
  • 语法结构:方法后面使用throws 需要抛出的异常类型

示例:

void eat() throws ArithmeticException, CloneNotSupportedException{

       SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");

          //sdf.parse("fsdfsd");

}

  • 抛出异常的注意事项:

①方法抛出运行时异常,在方法头可以不用抛出异常

②方法抛出编译时异常:方法必须处理异常,或者抛出同类异常,或者抛出异常该异常的父类类型异常

  • 捕获方式:
      1. 主动抛出异常

方法内部主动创建异常抛出:throw new SelfException("账户已经存在,请重新输入");

也可以抛出已知的异常类:如ArithmeticException等等

class SelfException extends Exception{

//自定义异常类

SelfException (String msg){

          Super(msg);

      }

}

  • throws 与 throw 的区别
  1. throws 处理异常

在方法头抛出异常

  1. throw 开发代码存在以外的情况,自己主动抛出异常[产生异常]

如:在方法内部 throw new NullPointException();

 

 

异常到这,就不做解释了,因为各种各类的异常在java中很多,只有多看文档api,才能理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值