C#中try catch throw
时间: 2024-09-30 17:06:54 浏览: 32
try/catch/throw
5星 · 资源好评率100%
在C#中,`try-catch-finally`语句块用于处理程序运行时可能出现的异常。它的基本结构如下:
1. **Try**部分:在这里放置可能会抛出异常的代码。如果这部分代码执行过程中遇到错误,它会立即停止,并查找匹配的异常处理器。
2. **Catch**部分:这是异常处理的核心部分,用来捕获并处理特定类型的异常。每个`catch`块对应一种或多种异常类型,当对应的异常发生时,控制权将转移至相应的`catch`块中。你可以选择编写代码来处理异常,如记录日志、显示用户友好的错误消息等。
3. **Throw**关键字:有时候,如果你想主动抛出一个新的异常,可以使用`throw`语句。这通常发生在某个条件不满足需要进一步处理的情况下。
4. **Finally**部分(可选):无论是否发生异常,`finally`块中的代码都会被执行。它可以用于清理资源,比如关闭打开的文件或数据库连接。
举个例子:
```csharp
try
{
// 可能会引发异常的操作
int result = DivideByZero(5, 0);
}
catch (DivideByZeroException ex)
{
Console.WriteLine("除数不能为零,发生了 DivideByZeroException: " + ex.Message);
}
catch (Exception ex)
{
// 捕获所有其他未知异常
Console.WriteLine("发生了一个未知的异常: " + ex.Message);
}
finally
{
// 无论是否发生异常,这里都会执行
Console.WriteLine("终于部分的代码");
}
```
阅读全文