2

在我的 Application.cfc 中,我有一个 onError 函数,它可以很好地处理所有错误,除非被调用的页面缺少结束标记。引发的错误是 InvalidEndTagNestingConfigurationException。我也想在应用程序中捕获这些类型的错误。

为什么 onError 不能捕获缺少的结束标记错误?有没有办法捕捉这些错误?

谢谢!

4

1 回答 1

5

onError 没有捕获这些类型的错误的原因是它是一个编译错误 - CF 解析器甚至无法将模板编译为类来运行它们,因此 Application.cfc 在抛出错误时甚至还没有运行.

这些永远都不应该真正发生,因为您应该在代码上线之前对其进行测试;)

确保不会发生这种情况的最佳方法是使用cfcompile预编译您的源代码以查找任何这些编译时错误。编译器将报告任何编译时错误。它的效率也很高,因为它只会重新编译已更改的模板,因此在第一次之后只需要很少的时间。

如果您使用 Eclipse(好吧,即使您不使用),那么您可以设置一个 Ant 任务来简化此操作 - 您甚至可以在将代码提交到源代码控制存储库之前将其设置为预提交操作。

于 2010-09-20T23:15:23.737 回答