163 01 Android 零基础入门 03 Java常用工具类01 Java异常 04 使用try…catch…finally实现异常处理 03 使用多重catch结构处理异常

163 01 Android 零基础入门 03 Java常用工具类01 Java异常 04 使用try…catch…finally实现异常处理 03 使用多重catch结构处理异常

本文知识点:使用多重catch结构处理异常

说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步

引言

mark
如上图,所有的异常都会提示“程序出错啦”,然后打印异常信息。但是,如果针对不同的异常,需要有不同的处理方式,需要有个性化人性化对用户友好易懂的提示,该如何解决呢?

这样的需求就需要用到多重catch结构

使用多重catch结构处理异常

多重catch结构:Java中try块后允许跟对个catch结构,即多重catch结构
注意:一个try块后所跟的多个catch,不能出现同类型异常。
mark

多重catch结构代码测试:
mark
mark

以上就是多重catch,在一个try下,针对不同的异常,进行不同的处理。

但是,正如我们程序员不能保证自己写的代码一定没有异常一样,我们也不能保证我们所写的catch块就一定能覆盖我们所写的try块代码中所有的异常信息。

所以,我们通常建议,在多重catch结构的最后一个catch块,添加所有常见异常的父类Exception类型对象作为参数,用它去追踪捕获它之前catch块,那些子类异常对象参数无法追踪捕获的信息。
mark

**这样,就能保证我们能将前面的catch块(子类异常对象作为参数的catch块)没有捕获到的try块中的异常,也捕获上(只要是异常,一定能被最后一个catch块,父类Exception对象作为参数的——catch块捕获)。算是一种安全保护机制。
**

注意,父类做参数的catch块只能放在最后一个,不能放在前面。
因为父类catch块放在前,就会导致后面的子类catch块失效。
mark

原文地址:https://www.cnblogs.com/xlfcjx/p/13846904.html