异常:程序运行过程中发生的错誤即不正常的事,异常会中止程序运行相当于感冒,阑尾炎将异常处理掉,可以继续执行
Error:描述的是java运行系统内部错误和底层资源耗尽的错误,一般就是JVM错误比较严重,仅仅靠应用层通过代码进行修改也不能恢复正常执行,致命性异常,相当于非典艾滋,癌必须修改源程序
Exception:非致命性异常,可以通过捕获处理后继续正常执行
当异常情况发生,将导致程序异常终止java的异常处理是运行时错误的处理和恢复。(保证程序不因出现异常而中止运行必须要对出现的异常进行处理)
异常本身使用类描述,产生一个异常就代表该异常的对象被创建,并苴在导致该错误的方法中被引发(throw,或称为抛出),可以充分发挥类的可扩展和可重用的优势
算术错误,例如:零作除数 |
欲得到的数据类型与实際输入类型不匹配 |
使用逻辑判断可以起到防止程序异常终止的作用但是这种程序逻辑与错误处理一起混用,使程序难以维护和调试;对於极少数情况发生的错误每次运行都要进行判断,降低程序的性能
捕获异常常用的的三种格式:try语句不能单独写 后面必须跟上catch或者finally
//可能会发生异常的代码,和发生异常后不能执行的代码
}catch(异常类型 异常名){//异常处理函数:异常类型限定该函数所能处理的异常类型
//发生异常后所进行的异常处理
}catch(异常类型 异常名){//异常处理函数:异常类型限定该函数所能处理的异常类型
//对异常所进行的处理
//无论异常发生与否,都執行此处代码
当发生异常后会按照顺序查看每个catch语句,并执行第一个与异常类型匹配的catch语句;其他语句忽略捕获异常时先捕获子类,洅父类(先小后大先具体后概括)
4. 自定义异常类使开发人员更加方便地定义程序出错位置且更加详细地描述异常信息,例如:
2.在当前创建的类中定义有参的构造方法并在构造方法中调用父类构造方法
//无法解决这个异常 抛出异常
2.构造方法中调用父类构造方法
5. 异常常用方法:异常名e
输出->性别错误
6. 子类重写父类方法时,可以抛出运行时异常但是抛出的编译异常必须是父类的子集。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。