我对 Try-Catch 块有一个疑问。

下面是我的代码

 private void PopulateDDL()
    {
        try
        {
            if (my condition)
            {
                code
            }
            else
            {
                throw new Exception(ErrorMessage);
            }
        }
        catch (Exception ex)
        {
            logerror(ex);
        }
    }

如果以下代码出错,将执行哪个捕获
其他
        {
            throw new Exception(ErrorMessage);
        }

最佳答案

MSDN:



您已定义的catch块:

catch (Exception ex)
{
    RaiseWebError(ex);
}

将首先针对throw new Exception(ErrorMessage);异常执行

如果RaiseWebError重新抛出该异常,则将由调用堆栈中的下一个try-catch块(即您引用的父方法)处理该异常。但是,如果RaiseWebError以某种方式(也许通过记录异常)处理了异常,则在第一次try-catch之后将继续执行。

关于asp.net - 在ASP.NET中 try catch 错误处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22166106/

10-14 12:21