public class RuntimeExceptionextends ExceptionRuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。
可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。
也就是未检查异常。
相反就是已检查异常,如:
public class IOExceptionextends Exception当发生某种 I/O 异常时,抛出此异常。此类是失败或中断的 I/O 操作生成的异常的通用类。
可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。
也就是未检查异常。
相反就是已检查异常,如:
public class IOExceptionextends Exception当发生某种 I/O 异常时,抛出此异常。此类是失败或中断的 I/O 操作生成的异常的通用类。
- packagecn.partner4java.exception;
- importjava.io.IOException;
- publicclassCheckedTest {
- publicstaticvoidmain(String[] args) {
- //必须要捕获或者抛出
- try{
- checkedTest();
- }catch(IOException e) {
- e.printStackTrace();
- }
- }
- publicstaticvoidcheckedTest()throwsIOException{
- System.out.println("Say,hello world!");
- }
- publicstaticvoidcheckedTest2() {
- //必须要被捕获和抛出,抛出后面也不能再写代码
- try{
- thrownewIOException();
- }catch(IOException e) {
- e.printStackTrace();
- }
- System.out.println("Say,hello world!");
- }
- }
- packagecn.partner4java.exception;
- publicclassUnCheckedTest {
- publicstaticvoidmain(String[] args) {
- //调用不需要捕获
- unCheckedTest();
- }
- publicstaticvoidunCheckedTest()throwsRuntimeException{
- System.out.println("Say,hello world!");
- }
- publicstaticvoidunCheckedTest2() {
- System.out.println("Say,hello world!");
- //不用被捕获和抛出
- thrownewRuntimeException();
- }
- }
本文深入探讨了Java中的异常处理机制,重点对比了已检查异常(如IOException)和未检查异常(如RuntimeException)的区别,并通过代码示例展示了如何正确地捕获和抛出这些异常。
632

被折叠的 条评论
为什么被折叠?



