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