1、什么是异常?
在计算机程序中,异常是指程序执行过程中发生的错误或异常情况。这些异常可能是由于无效的输入、资源不可用、逻辑错误等原因引起的。通过使用异常处理机制,程序可以在出现异常时采取相应的措施,如错误处理、资源释放、日志记录等。
2、异常处理的基本原则
异常处理遵循以下基本原则:
2.1抛出异常(Throwing Exceptions):
当出现错误或异常情况时,可以使用 throw 关键字抛出异常。抛出的异常可以是内置类型(如整数、字符等)或自定义类型。
throw MyException("Something went wrong");
2.2 捕获异常(Catching Exceptions):
使用 try-catch 块来捕获和处理异常。try 块用于包裹可能引发异常的代码块,而 catch 块用于捕获并处理特定类型的异常。
try {
// 可能引发异常的代码块
} catch (ExceptionType ex) {
// 处理 ExceptionType 类型的异常
}
2.3 处理异常(Handling Exceptions):
在 catch 块中,可以对捕获的异常进行处理。处理异常的方式可以是输出错误信息、进行日志记录、恢复程序状态等。也可以选择重新抛出异常或抛出其他异常。
try {
// 可能引发异常的代码块
} catch (ExceptionType1 ex1) {
// 处理 ExceptionType1 类型的异常
} catch (ExceptionType2 ex2) {
// 处理 ExceptionType2 类型的异常
} catch (...) {
// 处理其他类型的异常
}
2.4 栈展开(Stack Unwinding):
当发生异常时,程序会在调用栈中寻找匹配的 catch 块来处理异常。如果没有找到匹配的 catch 块,异常会被传递给上层调用栈中的调用者,直到找到匹配的 catch 块为止。如果最终没有找到任何匹配的 catch 块,程序将终止,并显示未捕获的异常信息。
2.5 异常安全(Exception Safety):
在编写代码时,需要考虑异常安全性。这意味着在出现异常时,程序应保持稳定状