对异常处理机制的感悟
在Lab1当中,我学着写了异常抛出的代码,当时写的时候出了很多我不理解的报错,但最后都误打误撞地解决了。如今学过异常处理机制之后,再回来看看之前写的代码,可以发现许多问题。

异常分为两种,分别是checked和unchecked异常。checked异常通常是非运行时异常,是程序员无法完全控制的外在问题所导致的,是编译器会帮助检查程序是否已经抛出或处理了的异常,而unchecked异常是error和运行时异常,这类异常是程序员在代码里处理不当而造成的错误,不会被编译器所检查。
这两种异常都可以被我们手动地捕获,但是我们一般不去捕获unchecked异常。
从课程一开始我们就学习了软件构造的质量指标,其中包括代码的可读性,易变性,健壮性,兼容性等等,而unchecked异常是可以用简单的判断语句去处理的,如果还要使用抛出异常来处理它,就会使得代码的可读性变差,我们的代码不是一个好的代码。
而checked异常是必须用异常处理机制捕获的,例如FileNotFoundException,如果像我们刚学写c语言一样使用if-else处理空文件指针时,如果一个文件是存在的,但是当用户在执行完该语句之后就立即删除此文件,程序依旧会报错。而使用try-catch捕获后,编译器会时刻检查文件是否存在,一但文件不存在就立刻抛出异常。
现在我们再看我当初写的代码,可见我当时完全是用异常处理来处理的运行时异常,而且根本没有考虑非运行时异常。在今后的编程中,要正确地使用异常处理机制,写高质量的代码。

浙公网安备 33010602011771号