在foreach
循环中优雅地处理异常,可以使用try-catch
语句。将可能抛出异常的代码放在try
块中,然后在catch
块中处理异常。这样,即使发生异常,循环也可以继续执行,而不会导致程序崩溃。
下面是一个C#示例,展示了如何在foreach
循环中优雅地处理异常:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
foreach (int number in numbers)
{
try
{
// 可能抛出异常的代码
int result = DivideByTwo(number);
Console.WriteLine($"{number} divided by 2 is {result}");
}
catch (DivideByZeroException ex)
{
// 处理异常
Console.WriteLine($"Error: {ex.Message}");
}
}
}
static int DivideByTwo(int number)
{
if (number == 0)
{
throw new DivideByZeroException("Cannot divide by zero");
}
return number / 2;
}
}
在这个示例中,我们在foreach
循环中遍历一个整数列表,并尝试将每个元素除以2。如果元素为0,DivideByTwo
方法将抛出一个DivideByZeroException
异常。我们使用try-catch
语句捕获这个异常,并在catch
块中输出错误信息。这样,即使发生异常,循环也可以继续执行。