Java 异常处理

来源:互联网 发布:ws15发动机知乎 编辑:程序博客网 时间:2024/06/15 22:39

异常处理机制

Java的异常处理机制可以让程序具有极好的容错性,让程序更加健壮,当程序运行出现意外情形时,系统会自动生成一个Exception对象来通知程序,从而实现将“业务功能实现代码”和“错误处理代码”分离,提供更好的可读性,

使用try…catch捕获异常

把系统的业务实现代码放在try块中定义,所有的异常处理逻辑放在catch块中进行处理,

try{    //业务实现代码    ...}catch (Exception e){    alert 输入不合法    goto retry}

如果执行try块里的业务逻辑代码出现异常,系统会自动生成一个异常对象,该异常对象被提交给Java运行时环境,这个过程被称为抛出(throw)异常
当Java运行时环境收到异常对象时,会寻找能处理该异常对象的catch块,如果找到合适的catch块,则把该异常对象交给该catch块处理,这个过程被称为捕获(catch)异常,如果Java运行时环境找不到捕获异常的catch块,则运行时环境终止,Java程序也将退出。

异常类的继承体系

try块后可以有多个catch块,这是为了针对不同的异常处理方式,

使用finally回收资源

有些时候,程序在try块里打开了一些物理资源(例如数据库连接、网络连接、和磁盘文件),这些物理资源必须显式回收,
为保证一定能回收try块中打开的物理资源,异常处理机制提供了finally块,不管try块中的代码是否出现异常,也不管哪一个catch块被执行,甚至在try块或catch块中执行了return语句,finally块总会被执行,finally块所有的必须位于所有的catch之后

Checked异常和Runtime异常

使用throws声明抛出异常

当前方法不知道如何处理这种类型的异常,该异常应该由上一级调用者处理,;如果main方法也不知道如何处理这种类型的异常,也可以用throws声明抛出异常,该异常交给JVM处理,JVM对异常的处理方法是,打印异常的跟踪栈信息,并终止程序运行,

使用throw抛出异常

抛出异常

原创粉丝点击