难度
初级
学习时间
10分钟
适合人群
零基础
开发语言
Java
开发环境友情提示《“全栈2019”Java异常》学习资料目录
全栈2019”Java异常第一章:什么是异常?
全栈2019”Java异常第二章:如何处理异常?
全栈2019”Java异常第三章:try代码块作用域解读
全栈2019”Java异常第四章:catch代码块作用域解读
全栈2019”Java异常第五章:一定会被执行的finally代码块
全栈2019”Java异常第六章:finally代码块作用域解读
全栈2019”Java异常第七章:try-catch-finally组合形式
全栈2019”Java异常第八章:throw关键字解读
全栈2019”Java异常第九章:throws关键字解读
全栈2019”Java异常第十章:throw与throws区别解读
全栈2019”Java异常第十一章:重写方式时只能抛出父类异常子集
全栈2019”Java异常第十二章:catch与异常匹配
全栈2019”Java异常第十三章:访问异常堆栈跟踪信息
全栈2019”Java异常第十四章:将异常输出到文本文件中
全栈2019”Java异常第十五章:异常链解读
全栈2019”Java异常第十六章:Throwable解读
全栈2019”Java异常第十七章:Error解读
全栈2019”Java异常第十八章:Exception解读
全栈2019”Java异常第十九章:RuntimeException解读
全栈2019”Java异常第二十章:自定义异常解读
全栈2019”Java异常第二十一章:finally不被执行的情况
全栈2019”Java异常第二十二章:try-with-resources句子解读
温馨提示
如果只是看《“全栈2019”Java异常》系列的全部文章链接的话,请你们只看里面的目录部份。
下面的总结部份就是将整篇文章的总结汇总上去,说实话不建议你们只看下边的总结,建议你们去须要了解的文章查看具体内容,然后结合文章具体内容来感受总结要点。
《“全栈2019”Java异常》总结
通过这几天的学习,我们把握了Java异常的用法,在《全栈2019”Java异常第一章:什么是异常?》一章中晓得了异常是在程序执行期间发生的风波,它会破坏程序指令的正常流程。
在Java中,我们把程序发生的异常(或发生的错误)用类来描述,这样的类被称为异常类(异常类型)。
在《全栈2019”Java异常第二章:如何处理异常?》一章中,我们了解到,当异常出现时,我们可以使用try-catch异常处理程序来处理它:
其中:
我们可以在catch谓词上面放所有异常类,Throwable类是Java语言中所有错误和异常的父类。当然了,Exception是一个普通的Java异常类,它是所有异常类的父类,同时它也是Throwable的泛型。
接着,我们在《全栈2019”Java异常第三章:try代码块作用域详解》一章中学习了try代码块的作用域。
定义在try代码块内的成员只能在本作用域中被访问。
定义在try代码块外的成员可以被try代码块访问。
同样的,我们在《全栈2019”Java异常第四章:catch代码块作用域解读》一章中学习到了catch代码块的作用域。
定义在catch代码块内的成员只能在本作用域中被访问。
定义在catch代码块外的成员可以被catch代码块访问。
接着,我们在《全栈2019”Java异常第五章:一定会被执行的finally代码块》这一章学习了finally关键字,知道了哪些是finally:
finally代码块总结有以下4点:
然后,我们在《全栈2019”Java异常第六章:finally代码块作用域详解》一章中学习了finally作用域。对于finally的作用域,我们有两点须要注意:
定义在finally代码块内的成员只能在本作用域中被访问。
定义在finally代码块外的成员可以被finally代码块访问。
紧接着,我们在《全栈2019”Java异常第七章:try-catch-finally组合形式》一章中阐述了try-catch-finally两者之间的组合形式,得出以下推论:
这里展示可以组合的代码块:
try-catch代码块可以组合。
try-finally代码块可以组合。
try-catch-finally代码块可以组合。
紧接着,我们在《全栈2019”Java异常第八章:throw关键字解读》一章中学习了throw关键字,知道了假如我们自己不知道或则不适宜处理该异常时,可以使用throw关键字将其抛出:
对于throw关键字也有3点须要注意的地方:
throw关键字作用是抛出一个异常。throw关键字可抛出Throwable类或泛型对象。throw关键字抛出的异常处理方法有两种:try-catch和throws。
学完了throw关键字,怎么能少了throws关键字呢?在《全栈2019”Java异常第九章:throws关键字详解》一章中介绍了throws关键字。
throws关键字用于申明在当前定义的成员方式中所有须要抛出的异常。
两个关键字都学习完了,自然须要了解它们之间有何不同,在《全栈2019”Java异常第十章:throw与throws区别详解》一章中学习它们的区别:
throw与throws定义不同throw旁边跟的是异常对象;throws旁边跟的是异常类型throw作用在作用域内部;throws作用在成员方式上throw抛出的非运行时异常须要throws申明在技巧上throw抛出运行时异常不需要throws申明在技巧上
在承继关系中,我们throws申明的异常列表会些变化,在《全栈2019”Java异常第十一章:重写方式时只能抛出父类异常子集》一章中介绍了这一系列变化和注意事项:
接着,我们在《全栈2019”Java异常第十二章:catch与异常匹配》一章中了解到catch实际上是通过异常匹配来决定执行哪一个。
然后我们在《全栈2019”Java异常第十三章:访问异常堆栈跟踪信息》一章中学习到了使用printStackTrace()方法复印异常跟踪信息。
将异常复印在控制台如何能行呢,所以我们又在《全栈2019”Java异常第十四章:将异常输出到文本文件中》一章中学习了怎样将异常输出到文本文件中。
异常不止一个,当多个异常接连不断地被抛出,它们之间又是紧密相连的,怎么能够让异常之间形成关联呢?《全栈2019”Java异常第十五章:异常链详解》一章学校到了异常链,通过异常链将异常之间联接上去。
Throwable是所有异常的父类,我们在《全栈2019”Java异常第十六章:Throwable详解》一章中对它进行了学习。
Error是所有错误的父类,我们在《全栈2019”Java异常第十七章:Error详解》一章中进行了学习。
Exception是所有异常的父类,我们在《全栈2019”Java异常第十八章:Exception详解》一章中进行了学习。
RuntimeException是所有运行时异常的父类,我们在《全栈2019”Java异常第十九章:RuntimeException详解》一章中进行了学习。
因为现有的异常类不满足我们的需求,所以我们须要自己自定义异常,我们通过《全栈2019”Java异常第二十章:自定义异常详解》一章了解到,自定义异常不仅仅是承继Exception,你还可以承继Error和RuntimeException。
finally也有不被执行的情况,具体请阅读《全栈2019”Java异常第二十一章:finally不被执行的情况》一章。
try-with-resources句子是在JDK7上面出现的新特点,了解详情请阅读《全栈2019”Java异常第二十二章:try-with-resources句子解读》一章。
答疑