我对C#很新.
当我尝试捕捉这样的东西时:
try { connection.Open(); command.ExecuteNonQuery(); } catch(sqlException ex) { MessageBox.Show("there was an issue!"); }
我如何知道Open或ExecuteNonQuery是否出现问题?
如果我在Try中调用了一堆其他非sql内容怎么办?
我怎么知道哪个失败了?
sqlException对常规异常的意义是什么?
如果我在Try块中有这样的代码,sqlException将如何处理非sql相关的错误?
解决方法
您可以在try块后添加多个catch
try { connection.Open(); command.ExecuteNonQuery(); } catch(sqlException ex) { MessageBox.Show("there was an issue!"); } catch(Exception ex) { MessageBox.Show("there was another issue!"); }
这里有一个重要的规则来捕捉更高的特定异常和更低级的更普遍的异常
如果我在TRY中调用了一堆其他非sql内容怎么办?
我怎么知道哪个失败了?
这将基于操作引发的异常.就像我说的那样,首先捕捉最具体的例外情况,然后在下降时更加通用.我建议您查看MSDN文档,了解您认为可能引发异常的方法.本文档详细说明了在哪些情况下方法抛出的异常.
sqlEXCEPTION对常规EXCEPTION的意义是什么?
sqlException是普通Exception类的扩展,仅在某些情况下抛出.