C# try catch 两个catch怎么写
时间: 2024-09-14 16:01:32 浏览: 49
在C#中,`try-catch`块用于处理可能出现的异常。当你认为某段代码可能会遇到错误并影响程序流程时,可以将这部分代码放在`try`块中。如果发生异常,`catch`块会捕获它并执行相应的处理。如果你需要针对不同类型的异常分别处理,可以使用多个`catch`块。
下面是一个例子展示了如何编写两个`catch`:
```csharp
try
{
// 可能会抛出异常的代码
int num = 0;
Console.WriteLine(1 / num);
}
catch (DivideByZeroException ex)
{
// 处理除以零异常
Console.WriteLine("试图除以零,发生了 DivideByZeroException: " + ex.Message);
}
catch (Exception ex)
{
// 捕获所有未被前面`catch`处理的异常
Console.WriteLine("发生了未知错误: " + ex.Message);
// 或者你可以在这里记录详细的错误日志
}
finally
{
// 不论是否发生异常,`finally`块的内容总是会被执行
Console.WriteLine("无论是否异常,这里都会被执行");
}
```
在这个例子中,首先尝试执行可能导致`DivideByZeroException`的操作。第一个`catch`专门处理这种特定类型的异常。如果其他未知异常发生,第二个`catch`会捕获它们。最后的`finally`块包含一些必须要执行的清理工作,无论是否发生异常。
阅读全文