黑马程序员———Java基础——异常概述

                     -----------android培训java培训、java学习型技术博客、期待与您交流!------------ 

一、异常的概述

       异常就是Java程序在运行过程中出现的错误。如程序要打开一个不存的文件、网络连接中断、操作数组越界、装载一个不存在的类等。


Throwable

1Throwable表示Java中可被抛出的对象,它是所有错误和异常的父类

2Throwable有两个子类:ErrorException

3Error表示错误

4Exception表示异常

5RuntimeException表示运行时异常,是Exception的子类



 

二、异常的分类

1Error(错误)

      由Java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等,程序对其不进行处理


2Exception(异常

      所有异常类的父类,子类定义了各种各样可能出现的异常事件,一般需要用户显式地声明向外抛出或捕获。


3Runtime Exception(运行时异常)

       一类特殊的异常,如被0除、数组角标越界等。产生比较频繁,处理麻烦,如果每次都处理,会对程序可读性和运行效率影响比较大,因此由系统检测并将它们交给缺省的异常处理程序,用户不必对其进行处理。这类异常不处理,编译时不会报错,只是在运行时出现错误时才报告异常,所以我们称之为运行时异常,所有RuntimeException的子类都是运行时异常。我们也可以对运行时异常进行处理。


4编译时异常

       Exception中除了RuntimeException的子类,其他异常都是必须要处理的,如果不处理,编译时会报错,这些异常我们称之为编译时异常。




三、异常的用法

1抛出异常

    在程序运行过程中可以使用throw关键字抛出一个Throwable的子类对象,通知调用者


2处理异常

      a、在程序中可以在方法后面使用throws关键字声明向外抛出异常

      b、对于编译时异常,通常我们需要使用try……catch语句进行捕获

      c、finally也可以结合try使用,只要执行了try中的代码,finally就一定会执行


3异常的一些细节

       如果父类方法中声明抛出多个异常,那么子类重写(覆盖)该方法只能抛出那些异常的一个子集,也就是说子类不能比父类抛出更多的异常。


      注意:如何处理多个异常?

                  try语句与finally的嵌套使用



4自定义异常

      a、可以通过继承Exception类来自定义一个异常。

      b、如果要定义一个运行时异常则需要继承RuntimeException

 

 


       总结:又温习了一遍,感觉又疏通了一遍,更全面的了解了异常,区分了异常和错误。(解决了以前的困惑,棒棒的感觉!)


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值