Java异常Exception

  • 异常:就是程序中出现的不正常的现象(错误与异常)
    • 异常的继承体系:
  •     Throwable: 它是所有错误与异常的超类(祖宗类)
  •         |- Error 错误,修改java源代码
  •         |- Exception 编译期异常, javac.exe进行编译的时候报错
  •             |- RuntimeException 运行期异常, java出现运行过程中出现的问题
  • 异常处理的两种方式:
    • 1,出现问题,自己解决 try…catch…finally
  •         try{
  •             可能出现异常的代码
  •         } catch(异常类名  对象名){
  •             异常处理代码
  •         } finally {
  •             异常操作中一定要执行的代码
  •         }
    • 2,出现问题,别人解决 throws
  •         格式:
  •         修饰符 返回值类型 方法名(参数) throws 异常类名1,异常类名2,...{}
  •         public void method() throws Exception{}
  •  
  • 异常分类
  • 异常的根类是Throwable,其下有两个子类:Error与Exception,平常所说的异常指Exception。
  • 严重错误Error,无法通过处理的错误
  • 编译时异常Exception,编译时无法编译通过。如日期格式化异常
  • 运行时异常RuntimeException,是Exception的子类,运行时可能会报错,可以不处理。如空指针异常
  •  
  • 异常基本操作
  • 创建异常对象
  • 抛出异常
  • 处理异常
        • 捕获处理,将异常获取,使用try/catch做分支处理
  •                            try{
  •                                      需要检测的异常;
  • }  catch(异常对象) {
  •               通常我们只使用一个方法:printStackTrace打印异常信息
  • }
        • 声明抛出处理,出现异常后不处理,声明抛出给调用者处理。
  •                           方法声明上加throws  异常类名
    • 注意:异常的处理,指处理异常的一种可能性,即有了异常处理的代码,不一定会产生异常。如果没有产生异常,则代码正常执行,如果产生了异常,则中断当前执行代码,执行异常处理代码。
  •  
  • 异常注意事项
  • 多异常处理
  • 捕获处理:
  • 1多个异常可以分别处理
  •          2多个异常一次捕获多次处理
  •          3多个异常一次捕获,采用同一种方式处理
  • 声明抛出异常:
  •          声明上使用,一次声明多个异常  
  •  
  • 运行时异常被抛出可以不处理。即不捕获也不声明抛出
  • 如果父类抛出了多个异常,子类覆盖父类方法时,只能抛出相同的异常或者是他的子集
  • 父类方法没有抛出异常,子类覆盖父类该方法时也不可抛出异常。此时子类产生该异常,只能捕获处理,不能声明抛出
  • 当多异常处理时,捕获处理,前边的类不能是后边类的父类
  •  
  • 自定义异常
  • 如果Java没有提供你需要的异常,则可以自定义异常类。
  • 定义方法:编译时异常继承Exception,运行时异常继承RuntimeException。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值