在我的Application.cfc中,我有一个onError函数,它适用于所有错误,除非被调用的页面缺少结束标记。抛出的错误是InvalidEndTagNestingConfigurationException。我想在应用程序中捕获这些类型的错误。
为什么onError没有捕获丢失的结束标记错误?有没有办法来捕捉这些错误?
谢谢!
答案 0 :(得分:5)
onError没有捕获这些类型的错误的原因是它的编译错误 - CF解析器甚至无法将模板编译到类来运行它们,因此Application.cfc甚至还没有在运行时运行抛出错误。
这些应该永远不会发生,因为应在代码上线之前对其进行了测试;)
确保不会发生这种情况的最佳方法是使用cfcompile预编译源代码以查找任何这些编译时错误。编译器将报告任何编译时错误。它的效率也很高,因为它只会重新编译已经改变的模板,因此在第一次之后只需要很少的时间。
如果您使用Eclipse(好吧,即使您没有),那么您可以set up an Ant task使这更容易 - 您甚至可以在将代码提交到源代码控制之前将其作为预提交操作库中。