1.异常是什么?
异常听起来非常容易懂,不就是出错嘛,程序出错。对的,在普通意义上异常就是程序出的不正常现象,但是为了更好的理解更透彻的理解:要强调两点的是,
1. 异常不意味着代码一定写错了,它只是意味着出现了不常见的情况
2. 异常不一定就要用捕获机制或者继续抛出来处理
比如说编写一个计算器,期待用户输入的是数字,但是用户却输入了'a'、'b'、'c'等字符,也就是一种不常见情况,因而如果程序考虑不周全的话会使得程序出错。这种情况我们平时都是通过if,else等语句直接避免用户的极端输入(这就是一种对异常的处理方式),但是也可以通过捕获机制进行处理,也可以不处理...
异常是指对于程序来说可能或已经出现的不常见的情况
2.异常有哪几种?(问题的输入)
也就是说,分程序的异常和系统内部的异常,前者可以修改解决,后者咱们能做的很有限。
(至于说已检查异常和未检查异常我不在这里作区分,原因就在于检查与否代表的含义并不是用来区分异常的种类的,而是代表了处理过程上的不同)
3.异常如何处理呢?(问题的输出)
这里不同的异常,处理的方式也是不一样的,接下来我来解释一下为什么要用这些方式解决这些异常
下面是几种异常的种类
异常一(Error):出现这类异常代表系统内部出现错误,我们改代码无能为力,只能对系统内部检查。因此我们在代码上不需要做任何处理,只需要一出现Error程序立刻终止就行,然后我们再去排除系统问题
异常二(RuntimeException):这类异常出现代表代码里面有运行错误,也就是出现了程序有bug,程序根本就不能正常运行,这时我们必须立刻终止程序,然后排查,修改代码不正确的地方
异常三(其他异常):例如IOException,当出现文件为空等现象时,程序出错。这种错误呢,可能代码上面逻辑是没错的,比如输出文件,我就打印就好了,但是文件是空的无法输出,也有这种情况的,属于正常情况,那么我们就要对这个这种情况进行另一种代码的逻辑(也就是异常处理)。
最终对异常的处理情况就如下图:
每一个异常都可以在这下面选择一种办法去解决,就看你的需求了。
所谓已检查异常和未检查异常,就是需求不同,未检查异常呢就是说一出现这种错咱立刻终止程序,让程序员去保证这错不再出现;已检查异常呢就是说出现它之后必须要进行另一种逻辑的异常