异常
异常的超类 Throwable
Exception:
- 意外的结果
- 方法的意外结束
- 空指针异常
- 数组越界
Error
- 栈溢出
- 堆溢出
异常的处理:
- 声明抛出异常
- 首先在方法名的后面声明抛出异常,最后谁调用,谁可以选择继续抛出异常,或捕获异常
- finally,无论捕获异常,还是没有捕获异常,都执行这里面的代码。
- try尝试运行代码块,如果有异常,会被随后的catch捕获,异常发生后,代码块不执行。catch是异常处理代码,需要提供合理的处理,异常的处理,尽量跟逻辑有关,可以跟多个catch捕捉。请注意,异常的大小关系,大类型的放到后面
- finally:代码款,不管是否出现异常,都会运行此代码块。经常用来处理现场的清理,比如数据的链接
异常分类:
- 非运行异常,使用javac命令,检查异常,编译器异常
- 某个方法如果抛出异常,这个方法必须声明异常的抛出。
- 如果调用抛出异常的方法,就必须处理异常、
- 运行时异常:javac命令不能对RuntimeException,java命令才能显示RuntimeException。
异常处理规则:
- 能够在底层处理的异常,尽量处理掉,如果处理不掉,则必须抛出给调用此方法的调用解决。
- 建议捕获异常的时候使用e.printStackTrace();打印到控制台,输出内容,出现异常时候的方法调用堆栈。
- 不应该简单的抛弃,调用有异常的方法,应积极处理异常。
- 尽量不要使用Exception,粗粒度处理异常。
- 异常处理方式,要根据业务逻辑的客观条件,依赖于业务逻辑,尽量灵活。
自定义异常
- 自定仪的异常类一般继承与Exception
- 自定义的异常类名要求是实际意义,一般都是手工继承父类的构造器

浙公网安备 33010602011771号