龙岩市住房和城乡建设厅网站,500m网站,企业网站打不开的原因,电商网站毕业设计论文Assert用于检查不应该发生情况#xff0c;用来帮助开发人员对问题的快速定位。异常处理用于对程序发生异常情况的处理#xff0c;增强程序的健壮性、容错性#xff0c;减少程序使用中对用户不有好的行为#xff0c;不让(通常也不必)用户知道发生了什么错误。实际开发中用来帮助开发人员对问题的快速定位。异常处理用于对程序发生异常情况的处理增强程序的健壮性、容错性减少程序使用中对用户不有好的行为不让(通常也不必)用户知道发生了什么错误。 实际开发中我们通常将Assert与异常混淆 不知道什么时候使用Assert什么时候使用异常处理。或者不用Assert将一切情况都归为异常。这样一来就掩盖了问题当问题发生的时候很难进行定位而这些问题本该是在开发的时候就解决掉的。同时也增加了开销(在c#中debug.Assert()编译成release版本时不会产生任何代码而try/catch在debug/release版本中都是有代码产生运行时需要开销)。 考虑下面这个程序 代码 1 public static bool ParseData(string xmlPath, MyDataCollection container) { 2 Debug.Assert(containernull, container argument is null); 3 4 XmlDocument xmlDoc new XmlDocument(); 5 try { 6 xmlDoc.Load(xmlPath); 7 // TO DO : parse data from xml to contianer 8 } 9 catch (FileNotFoundException) { 10 // TO DO handle exception11 }12 catch (XmlException) {13 // TO DO handle exception14 }15 } 我们需要在调用的时候确保参数container不为null。如果发布成公共类库那么应该做异常处理确保第三方错误调用的时候知道问题在哪。 关于异常处理 在编写代码的时候应充分考虑各种具体异常而不简单的catch到Exception写出更健壮的代码。 通常来说能够用Assert的地方都可以用try/catch处理 。但这不是好习惯。或许你可能认为程序release后try/catch也就比Assert多出那么点开销对现代的机器而言微不足道那的确很对。为什么不认真对待自己写出来的代码呢转载于:https://www.cnblogs.com/huankfy/articles/1640602.html