Java异常处理(捕获异常)

一,异常的捕获java

在上节课咱们观察了异常的出现,并且咱们异常的第一节课:Java异常处理(观察常见异常)就说了若是程序出现了异常则出现异常以后的代码就再也不执行了,至关于中断了程序,若是要出现异常以后的代码还能继续执行,则须要将这个异常捕获处理以后才能够面试

DEMO:出现异常的代码spring

此时发现出现数字格式化异常,也就是不能将一个非数字类型的字符串转换成一个整数,致使了后面的代码没有执行,若是要让后面的代码执行须要先捕获处理异常设计模式

异常处理的语法以下:微信

其中“异常类型”肯定了你当前的这个try语句块只能捕获你给定的异常类型以及该异常类型的子类类型。分布式

DEMO:处理异常ide

发现了出现异常的以后的代码也执行了,可是没有打印出异常信息,若是打印出异常信息,只须要调用异常对象的“printStackTrace()”学习

DEMO:打印出异常信息设计

发现了咱们在 catch 语句中定义的异常类型是Exception,可是咱们try 语句块中出现的异常是“java.lang.NumberFormatException ",那感受不同却能捕获,是什么缘由呢﹖其实"java.lang.Exception”是“java.lang.NumberFormatException”的父类3d

发现了能打印异常信息,同时能执行异常出现以后的代码。其实上以上处理异常的语句还不够完善,由于有这样的需求:要求一段代码无论是否出现异常都必须执行,那么这断代码须要放到finally语句中,因而要在catch 以后加上finally语句。

DEMO:finally语句

以上的代码证实了无论是否出现异常finally中的程序都会被执行。

咱们上面分析出现异常的代码以后的程序还会被执行,可是若是这个程序是在try语句块中呢?

DEMO:若是出现异常代码以后的代码是在try 语句块中

若是出现异常以后的程序在try语句块以外则处理了异常就会被执行,

若是出现异常以后的代码是try语句块以内则不会被执行。

总结:

一、出现异常以后的代码若是不作异常处理或者没有捕获到则不会被执行,也就是终止了程序

二、若是处理了异常:

I-在try语句块以外的程序会被执行

|-若是是在try语句块以内则就算异常被处理完毕出现异常后面的代码仍是不会被执行

三、finally语句中的代码无论是否出现异常、无论是否处理了异常都会被执行。

 

 

详细的java系统视频免费学习地址

 

有完整的Java初级,高级对应的学习路线和资料!专一于java开发。分享java基础、原理性知识、JavaWeb实战、spring全家桶、设计模式、分布式及面试资料、开源项目,助力开发者成长!

欢迎关注微信公众号:码邦主