运行时异常与受检异常有何异同?

异常表示程序运行过程当中可能出现的非正常状态,运行时异常表示虚拟机的一般编程

操做中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题一般就ide

不会发生。受检异常跟程序运行的上下文环境有关,即便程序设计无误,仍然可spa

能因使用的问题而引起。Java 编译器要求方法必须声明抛出可能发生的受检异常,设计

可是并不要求必须声明抛出未被捕获的运行时异常。异常和继承同样,是面向对继承

象程序设计中常常被滥用的东西,在 Effective Java 中对异常的使用给出了如下指文档

导原则:编译器

不要将异常处理用于正常的控制流(设计良好的 API 不该该强迫它的调虚拟机

用者为了正常的控制流而使用异常)it

对能够恢复的状况使用受检异常,对编程错误使用运行时异常编译

避免没必要要的使用受检异常(能够经过一些状态检测手段来避免异常的发

生)

优先使用标准的异常

每一个方法抛出的异常都要有文档

保持异常的原子性

不要在 catch 中忽略掉捕获到的异常

Java Program!