c# - 如果发生异常,退出函数/方法
问题描述
如果子方法中发生异常,我正在尝试找到退出整个方法的代码。我尝试在 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()。任何帮助将不胜感激。谢谢
解决方案
如果在 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;
}
}
推荐阅读
- swift - 多于一个动态表与动态列 swift 4
- python - python中有'clearscreen'的替代命令吗?
- swiftui - 控制 Apple Watch 的音量
- intellij-idea - Intelij你知道编辑有焦点时出现的这个图标是什么吗?
- java - 迭代时如何将数组的最后一个索引连接到第一个索引
- r - ggplot2:在 R studio 中控制绝对绘图大小
- mysql - MySQL 中的查询有问题,它过滤掉了我想显示的记录
- javascript - 为什么通过 url 访问时我的 BehaviorSubject 为空
- c# - 来自 OID 的证书签名安全算法
- java - 如何使用动态循环数进行字符串排列?