首页 > 解决方案 > 如果发生异常,退出函数/方法

问题描述

如果子方法中发生异常,我正在尝试找到退出整个方法的代码。我尝试在 Subfunction() 的 catch 部分添加 return 但该过程将继续到 Thirdfunction()

 public static void Mainfunction()
    {
        try
        {
            //some code
            //some code
            Subfunction();
            ThirdFunction();

        }
        catch(Exception ex)
        {
            //write to log
        }
    }

    public static void Subfunction()
    {
        try
        {
            //some code
            //some code

        }
        catch (Exception ex)
        {
            //write to log
        }
    }

所以基本上,如果 Subfuntion() 中发生错误,我想从 Mainfunction() 停止进程,而不继续到 ThirdFunction()。任何帮助将不胜感激。谢谢

标签: c#asp.netexception

解决方案


如果在 Subfuntion() 中发生错误,我想从 Mainfunction() 停止进程

在您的方法中删除 try/catch 的最简单方法Subfunction

如果您想在此方法中保留 try/catch,(用于记录或其他内容),请重新抛出异常

    public static void Main()
    {
        try
        {           
            Subfunction();
            Thirdfunction();
        }
        catch(Exception ex)
        {
        }
    }    
    public static void Subfunction()
    {
        try
        {
            throw new AccessViolationException();
        }
        catch (Exception ex)
        {
            throw;
        }
    }

推荐阅读