c# - TRY block 中的异常会中断它的执行吗?

标签 c# vb.net exception exception-handling try-catch

我正在导入多个字段,也就是说,大约 25 行代码,每行代码导入一个字段(在我的例子中,确实没有其他方法)。 它在 try-catch block 中,但有时源中不存在该字段,但我必须获取其余部分。

从 20 日开始。
我得到 10
第 11 个不存在(异常(exception)) 我还需要 12 到 20。

如果我不想一一测试是否存在,我想知道 try 是如何工作的。如果出现异常,它不会执行其余的,对吧?什么适合我?

obs:它超过 20 个,我想要一个智能且无污染的解决方案。

最佳答案

如果在 try block 中发生异常,异常之后的任何内容都不会被执行。因此,如果第 11 项发生异常,则不会执行第 12 - 20 项。执行将从第 11 项跳转到 catch block ,然后如果有 finally block ,则跳转到 finally block 。

根据您的问题所说,当字段不存在时您会得到异常。我建议检查该字段是否存在,然后再进行操作。我不建议使用 try catch 作为检查存在条件的方法。 Try catches 应该是为了错误处理,如果你确实得到错误,你通常不想继续正常执行。如果您不喜欢检查每一行的条件的想法,或者除了捕获异常之外没有其他方法可以检查它,那么我建议使用 try catch 创建一个帮助函数

boolean checkField(field){
  try{/* do operation on field*/}
  catch(Exception e){return false;}
  return true;
}

void main(){
   if !(checkField(field1)) return;
   else if !(checkField(field2)) return;
   .
   .
   .
}

关于c# - TRY block 中的异常会中断它的执行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1866356/

相关文章:

c# - 如果不在 .NET 中使用不安全代码,是否可以实现高效的固定大小数组?

c# - 没有 xsd.exe 的 XML 序列化和模式

c# - Windows 10 在使用已注册的动词调用 ShellExecute 时出错

java - 在 Java 中声明一个大尺寸的 2d Double 数组

c# - Mongo 更新数组元素(.NET 驱动程序 2.0)

asp.net-mvc - 查找 session 状态的所有使用

vb.net - 将 XNA + VB.Net 游戏转换为 MonoGame

c# - 在 Visual Studio 中添加 VB6 引用会得到 "Type library importer encountered an error during type verification"

java - 如何对抛出的异常进行分类并计算计数

java - 在 Java 中抛出多个检查异常有什么问题?