C# 处理异常-捕获后返回错误

C# 处理异常-捕获后返回错误,c#,.net,exception,C#,.net,Exception,我想用一种特殊的方式处理一个异常 try { for (int i = 0; i < rows.Count; i++) { doSomething(); } } catch (Exception e) { return false; } 试试看 { for(int i=0;i

我想用一种特殊的方式处理一个异常

try
{
    for (int i = 0; i < rows.Count; i++)
    {
        doSomething();
    }
}
catch (Exception e)
{
    return false;
}
试试看
{
for(int i=0;i
我正在运行抛出一个ienum并尝试使用doSomething()方法查找元素。 问题是这个方法在找不到异常时抛出异常,但我需要确保在整个枚举中找不到元素

这就是问题所在。。。我想知道渔获量内是否有办法做到这一点:

if(i<rows.Count)
  continueFor;

if(i将try-catch放入for循环中

for (int i = 0; i < rows.Count; i++)
 {
    try{
      doSomething();
     }
     catch(Exception ex){

        // do something else

     }
 }
for(int i=0;i
通过这种方式,你可以引用i。或者将属性设置为i,然后在你的捕获中,你就会知道(i)是什么

Int32 lastNumber=0;
试一试{
for(int i=0;i
将try catch放入for循环中

for (int i = 0; i < rows.Count; i++)
 {
    try{
      doSomething();
     }
     catch(Exception ex){

        // do something else

     }
 }
for(int i=0;i
通过这种方式,你可以引用i。或者将属性设置为i,然后在你的捕获中,你就会知道(i)是什么

Int32 lastNumber=0;
试一试{
for(int i=0;i
您应该从DoSomething方法返回一个布尔值,并测试循环中返回的值。如果确实需要try/catch块,请将其放入方法中,特别是因为您没有使用catch中引发的异常

 bool returnValue;
 for (int i = 0; i < rows.Count; i++)
                {
                    if(doSomething())
                        returnValue = true;
                }
 return returnValue;
bool返回值;
for(int i=0;i
您应该从DoSomething方法返回一个布尔值,并测试循环中返回的值。如果确实需要try/catch块,请将其放入方法中,特别是因为您没有使用catch中引发的异常

 bool returnValue;
 for (int i = 0; i < rows.Count; i++)
                {
                    if(doSomething())
                        returnValue = true;
                }
 return returnValue;
bool返回值;
for(int i=0;i
我在你的代码中没有看到关于
枚举的任何内容
-你真的需要让它更清楚一点。try-catch肯定应该在doSomething中,在那里你试图找到一些可能不存在的东西。我在你的代码中没有看到关于
枚举的任何内容
-你真的需要让它更清楚一点。try-catch肯定应该在doSomething中在doSomething中,你试图找到一些可能不存在的东西。我不能使用continue吗?它不应该让我进入最后一个迭代吗?@Héldegonçalves否,因为在catch块的点上,你不在for循环的范围内,所以continue没有意义。那么我如何返回到最后一个迭代?并继续循环为什么不呢进行更具体的错误捕获,例如在doSomething()中实际上,检查给出异常并捕获它的场景,即不依赖try-catch,那么您可以轻松地报告错误并继续for循环。我不能使用continue吗?它不应该让我进入最后一次迭代吗?@Héldegonçalves否,因为在catch块的点上,您超出了for循环的范围o continue没有意义。那么我如何返回到上一次迭代?并继续循环为什么不执行更具体的错误捕获,即在doSomething()中实际检查出现异常的场景并捕获它,即不依赖try-catch,然后您可以轻松报告错误并继续for循环。