Java基础面试题---异常有哪些种类,可以举几个例子吗?

Java中的异常,主要可以分为两大类,即受检异常 (checked exception)和 非受检异常 (unchecked exception)对于受检异常来说,如果一个方法在声明的过程中证明了其要有受检异常抛出:
public void test() throws Exception{}

那么,当我们在程序中调用他的时候,一定要对该异常进行处理(捕获或者向上抛出),否则是无法编译通过的。这是一种强制规范。
这种异常在IO操作中比较多。比如FileNotFoundException ,当我们使用IO流处理一个文件的时候,有一种特殊情况,就是文件不存在,所以,在文件处理的接口定义时他会显示抛出FileNotFoundException,其目的就是告诉这个方法的调用者,我这个方法不保证一定可以成功,是有可能找不到对应的文件的,你要明确的对这种情况做特殊处理哦。
所以说,当我们希望我们的方法调用者,明确的处理一些特殊情况的时候,就应该使用受检异常对于非受检异常来说,一般是运行时异常,继承自RuntimeException。在编写代码的时候,不需要显示的捕获,但是如果不捕获在运行期如果发生异常就会中断程序的执行。
这种异常一般可以理解为是代码原因导致的。比如发生空指针、数组越界等。所以,只要代码写的没问题,这些异常都是可以避免的。也就不需要我们显示的进行处理。
试想一下,如果你要对所有可能发生空指针的地方做异常处理的话,那相当于你的所有代码都需要做这件事。

你可能感兴趣的:(Java,java,开发语言,后端,面试,前端)