运行时异常和受检异常有何异同?
时间: 2023-04-05 15:01:17 浏览: 190
运行时异常和受检异常的主要区别在于编译器是否要求在代码中显式地处理异常。运行时异常是指在程序运行时发生的异常,不需要在代码中显式地处理,可以通过 try-catch 块来捕获和处理。而受检异常是指在编译时就可以预见的异常,编译器要求在代码中显式地处理,否则会编译错误。
相关问题
编译时异常又叫受检异常?
不是的,编译时异常也叫作受检异常,但是它们并不等同。编译时异常是指在编译代码时就能够被发现的异常,例如语法错误、类型错误等。而受检异常是指在代码中可能抛出的异常,在方法声明中必须显式地声明该异常,并且在调用该方法时必须处理该异常。在 Java 中,受检异常是指继承自 Exception 类或其子类的异常,而非继承自 RuntimeException 类或其子类的异常。因此,所有编译时异常都是受检异常,但并不是所有受检异常都是编译时异常。
一般异常/ 受检异常 可查异常都是指编译时异常?
不完全正确。在 Java 中,异常分为三类:可查异常(checked exceptions)、运行时异常(runtime exceptions)和错误(errors)。
可查异常是指在编译时必须进行处理的异常。如果不进行处理,编译器会报错。例如,文件不存在、网络中断等异常都属于可查异常。
运行时异常是指在程序运行时才会抛出的异常,不需要在编译时进行处理。例如,空指针异常、数组越界异常等都属于运行时异常。
错误是指系统级别的异常,例如内存溢出等,不需要在程序中进行处理。
因此,可查异常属于编译时异常的一种,但不是所有编译时异常都是可查异常。运行时异常和错误都不属于可查异常。
阅读全文