应该如何处理 ColdFusion 异常和 404 错误?
How ColdFusion exception and 404 errors should be handled?
今天我正在为一个新网站设计错误处理策略。我已经浏览了 ColdFusion Excepiton 的所有文档
处理。
现在有点疑惑了
处理 404 错误的最佳解决方案是什么?
- 使用
onMissingTemplate()
方法
Sitewide Missing Template
选项(CFAdmin)
IIS custom 404 error handler
。
异常处理的最佳解决方案是什么?
- 我应该使用什么来记录错误
onError()
方法或 Site-Wide Error handler
?之间有什么显着差异吗
这两个?
- 我是否需要为我编写的每个查询使用 try/catch 块?
因为有些查询我确信查询只会在数据库失败时失败。因此,如果数据库出现故障,则使用 try/catch 进一步处理页面是没有意义的。在这些情况下我该怎么办?
我知道这个问题看起来有点主观,但我找不到比 Whosebug 更好的地方了。
为了处理 404, 最好在网络服务器级别处理它。
对于Sitewide Missing Template,您可以在 CF Admin 中指定相同的模板。确保 Sitewide 错误处理程序文件位置应该相对于 CF webroot 而不是 webserver root。依赖文件可能会放在网络服务器上。
关于 IIS 自定义 404 错误处理程序,请参考 http://blogs.coldfusion.com/post.cfm/onmissingtemplate。最近的博客 post 对 404 和错误处理进行了详细描述。
答案是您应该同时使用这三个。
onMissingTemplate()
是特定于应用程序的(请记住,您可以在一个 CF 实例上拥有多个应用程序)。
Missing Template Handler
是特定于 CF 实例的。
IIS custom 404 error handler
适用于非 CF 文件(例如,.htm
、.html
等)。当然,您仍然可以将 CF 模板指定为自定义错误处理程序。
仅供参考,特定于应用程序的 onMissingTemplate()
方法优先于 CF Admin Missing Template Handler
。如果没有特定于应用程序的 onMissingTemplate()
.
则后者会触发
就异常处理而言,这将取决于许多因素,但多层方法还是不错的。
今天我正在为一个新网站设计错误处理策略。我已经浏览了 ColdFusion Excepiton 的所有文档 处理。
现在有点疑惑了
处理 404 错误的最佳解决方案是什么?
- 使用
onMissingTemplate()
方法 Sitewide Missing Template
选项(CFAdmin)IIS custom 404 error handler
。
异常处理的最佳解决方案是什么?
- 我应该使用什么来记录错误
onError()
方法或Site-Wide Error handler
?之间有什么显着差异吗 这两个? - 我是否需要为我编写的每个查询使用 try/catch 块?
因为有些查询我确信查询只会在数据库失败时失败。因此,如果数据库出现故障,则使用 try/catch 进一步处理页面是没有意义的。在这些情况下我该怎么办?
我知道这个问题看起来有点主观,但我找不到比 Whosebug 更好的地方了。
为了处理 404, 最好在网络服务器级别处理它。
对于Sitewide Missing Template,您可以在 CF Admin 中指定相同的模板。确保 Sitewide 错误处理程序文件位置应该相对于 CF webroot 而不是 webserver root。依赖文件可能会放在网络服务器上。
关于 IIS 自定义 404 错误处理程序,请参考 http://blogs.coldfusion.com/post.cfm/onmissingtemplate。最近的博客 post 对 404 和错误处理进行了详细描述。
答案是您应该同时使用这三个。
onMissingTemplate()
是特定于应用程序的(请记住,您可以在一个 CF 实例上拥有多个应用程序)。Missing Template Handler
是特定于 CF 实例的。IIS custom 404 error handler
适用于非 CF 文件(例如,.htm
、.html
等)。当然,您仍然可以将 CF 模板指定为自定义错误处理程序。
仅供参考,特定于应用程序的 onMissingTemplate()
方法优先于 CF Admin Missing Template Handler
。如果没有特定于应用程序的 onMissingTemplate()
.
就异常处理而言,这将取决于许多因素,但多层方法还是不错的。