C# 如何在捕获后恢复执行我的代码?
C# How do i resume the execution of my code after a catch?
是否可以在第一次捕获后恢复执行我的程序,即使我抛出了异常?
我制作了一个示例程序,但是我在 List<string>
中添加异常的行必须在内部和外部 foreach 之后执行,我知道如果我不抛出异常是有可能的,但我也必须这样做。
foreach(var x in x)
{
try
{
List<string> exs = new List<string>();
foreach(var a in b)
{
try
{
//...some code
}
catch(Exception ex)
{
throw ex;
}
finally
{
//...some code
}
}
exs.Add(ex);
}
catch(Exception ex)
{
Console.WriteLine(ex);
}
finally
{
//...some code
}
}
不要扔,以后收集打印出来。
List<Exception> exs = new List<Exception>();
try
{
foreach(var a in b)
{
try
{
//...some code
}
catch(Exception ex)
{
exs.Add(ex);
}
finally
{
//...some code
}
}
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
//...some code
}
exs.ForEach(ex=> Console.WriteLine(ex.ToString()));
是否可以在第一次捕获后恢复执行我的程序,即使我抛出了异常?
我制作了一个示例程序,但是我在 List<string>
中添加异常的行必须在内部和外部 foreach 之后执行,我知道如果我不抛出异常是有可能的,但我也必须这样做。
foreach(var x in x)
{
try
{
List<string> exs = new List<string>();
foreach(var a in b)
{
try
{
//...some code
}
catch(Exception ex)
{
throw ex;
}
finally
{
//...some code
}
}
exs.Add(ex);
}
catch(Exception ex)
{
Console.WriteLine(ex);
}
finally
{
//...some code
}
}
不要扔,以后收集打印出来。
List<Exception> exs = new List<Exception>();
try
{
foreach(var a in b)
{
try
{
//...some code
}
catch(Exception ex)
{
exs.Add(ex);
}
finally
{
//...some code
}
}
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
//...some code
}
exs.ForEach(ex=> Console.WriteLine(ex.ToString()));