在程序运行过程中,异常主要分为两种:编译时异常和运行时异常。
编译时异常:
运行时异常:
IOException
等。NullPointerException
、ArrayIndexOutOfBoundsException
等,它们是程序在运行时由于逻辑错误导致的,不可预知。OutOfMemoryError
、StackOverflowError
等,通常与程序的运行环境有关,程序无法恢复。异常处理机制:
try
块来包裹可能发生异常的代码。catch
块来捕获并处理特定的异常。finally
块来执行无论是否发生异常都需要执行的清理工作,例如关闭文件流。throw
关键字来手动抛出异常。throws
关键字声明方法可能抛出的检查型异常。异常链:
自定义异常:
异常的传播:
异常的分类:
Throwable
类,它有两个重要的子类:Exception
和Error
。Exception
类用于包装应用程序可能希望捕获的异常情况,而Error
类用于包装由JVM抛出的低级错误。理解这些异常类型和处理机制对于编写健壮、可维护的代码至关重要。