Java方法的退出方式
- 正常退出,包括return退出和执行完所有语句后退出(没有返回值没有也没有抛出异常),退出后程序回到上层方法调用出
- 异常退出,程序出现异常后退出,退出后程序的回到的位置由程序的异常处理机制决定
Java异常体系有关的关键字
- try:包含可能抛出异常的代码
- catch:异常捕获
- throw:抛出异常
- throws:声明方法可能要抛出的异常
- finally:包含程序无论怎样退出都要执行的代码
异常类系统

异常处理
程序运行时不应该因为抛出异常而打印出程序栈信息,应该以优雅的方式结束运行或回到之前的状态。
利用try-catch-fainall结构能够将异常处理变得更简单,可能要抛出异常的代码要包含在try代码块内,异常的捕获要在catch语句块内进行,catch语句能够根据异常的类型进行捕获,具体异常类型能够匹配上更上层的异常,所以匹配具体异常类的catch语句要写在前面,上层类写在后面。若某一层catch不能匹配某种异常类型则异常往上抛出直到被捕获或者程序被异常终止为止。
通过使用管道符号(|)来在同一个catch语句内捕获多种异常。在catch语句内捕获到异常之后可以重新抛出异常,表达更清晰的描述信息。
finally总结
finally语句块无论是否抛出异常都会执行
- 若没有抛出异常也没有return语句则程序返回前执行
- 若抛出异常并且进行捕获则catch语句块结束后执行,若没捕获则抛出异常前执行
- 若有return语句则程序返回前执行并不影响return结果(finally中没有return语句情况下,如果finally中有return语句则会覆盖finally外的return返回结果,还有可能覆盖程序抛出的异常)。
本文详细介绍了Java中的异常处理机制,包括try-catch-finally结构的使用方法,如何优雅地处理异常,以及如何通过catch语句捕获并重新抛出异常以提供更明确的信息。
10万+

被折叠的 条评论
为什么被折叠?



