.net – 异常处理:抛出后终于执行了
假设你有以下代码:
而不是做: Try ' ' Initialize some objects ' ' ' do something that fails ' ' ' Clean up-code that gets not reached because exception ' Catch e As Exception ' 'Clean up initialized objects ' Throw e End Try 我想做: Try ' ' Initialize some objects ' ' ' do something that fails ' Catch e As Exception Throw e Finally ' 'Clean up initialized objects ' End Try 所以我的简单的问题是:如果一个例外是finally块到达,即使有一个线之前呢? [编辑] 在第一行,我会考虑NullReference-,COM-和FileNotFound-Exceptions。 好的,我会去这个代码: Try ' ' Initialize some objects ' ' ' do something that fails ' Catch e As Exception ' or just "Catch"?? Throw Finally ' 'Clean up initialized objects ' End Try 祝一切顺利! 英诺
是。 如果您真的需要一个Catch块,然后重新抛出异常,请使用以下命令: Catch e As XyzException ' … do some stuff. ' Throw End Try 1):注意事项:有一些例外,如StackOverflowException(如何适合…)需要特别注意,可能不会触发Finally块。正确处理它们通常是相当困难的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |