Java中的异常的结构体系及处理机制

编辑: 来源: 时间: 2017-10-12 16:15 阅读:

  光环大数据的讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。

光环大数据讲师均为实战专家,具备10年以上软件开发培训经验,五年以上大数据实战经验,行业口碑最好。

多家培训机构广告做得好,而到了授课就大幅缩水,我宿舍隔壁就有某同类培训机构的学员,抱怨着坑人以及授课教师的不专业,下课没有可参照的视频和老师梳理知识体系的笔记。而光环大数据授课教师去掉了华而不实,实事求是地把最实战的技巧传授给我们,除了当节知识,我们总能学到更高一级的知识,增加了知识体系。

异常:不可预知的非正常情况

Java中的异常都是以对象形式存在的,一旦某句代码发生异常,会在该代码处生成一个异常对象

然后以堆栈式抛出,若不对其进行处理,程序终止运行。

二、异常的结构体系:

java.lang.Throwable:是所有错误和异常的父类

|---java.lang.Error:错误,一些严重的错误。如:内存溢出,系统错误等。我们在代码中不做处理

|---java.lang.Exception:异常,我们需要尽可能预知并处理的异常。如:用于输入有误、网络连接中断等等。

|---编译时异常(受检异常checked):编译时对其进行检查,若不处理编译不能通过

|---运行时异常(非受检异常unchecked):可以保证程序的正常运行。一旦发生该异常,会在该代码处生成一个异常对象

以堆栈式抛出,若不处理,系统终止运行。

三、异常的处理机制:Java中异常的处理采用的是抓抛模型

“抛”:一旦某句代码发生异常,会在该代码处生成一个异常对象然后以堆栈式抛出。(自动抛出/手动抛出)

“抓”:将上述抛出的异常进行捕获处理

异常的处理方式一:

try{

//可能发生异常的语句

}catch(Exception1e1){//异常的类型变量名

//异常的处理语句

}catch(Exception2e2){

//异常的处理语句

}

……

finally{

//一定被执行的语句

}

①catch块可以有多个,一旦与某个catch块匹配成功,执行相应的语句,其他catch块将不再执行

②catch块可以有多个,若catch块中的异常类型具备子父类关系,必须“子上父下”

③try-catch可以嵌套的

④finally是可选的,一旦写上,一定会被执行,即便有return

异常的处理方式二:throws关键字(处理异常的方式是将异常抛出给调用者做具体的处理)

格式:使用在方法的声明处,后面跟异常的类型

如:

publicstaticvoiddic(inta,intb)throwsNumberFormatException,Exception{}

四、throw关键字:制造异常

格式:使用在方法体内,后面跟异常的对象

如:

publicstaticvoiddiv(inta,intb){

if(b==0){

thrownewRuntimeException("除数不能为零");

}

}

【面试题】throw和throws的区别?

throw不仅可以抛出Java提供的异常,还可以抛出自定义异常

五、自定义异常

①声明一个类继承一个异常类(继承Exception该异常为编译时异常,继承RuntimeException该异常为运行时异常)

②编写构造器(通常利用构造器为getMessage()方法设置值)

六、异常处理的常用方法

printStackTrace():打印异常的详细信息。

StringgetMessage():返回异常的描述信息

大数据培训,就选光环大数据!

原创文章,转载请注明出处:光环大数据http://hadoop.aura.cn

 


大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();