应该如何处理ColdFusion异常和404错误?

时间:2015-02-17 11:59:05

标签: exception-handling coldfusion coldfusion-10

今天我正在为新网站设计错误处理策略。我已经浏览了ColdFusion Excepiton的所有文档 处理

现在我有些疑惑。

处理404错误的最佳解决方案是什么?

  1. 使用onMissingTemplate()方法
  2. Sitewide Missing Template选项(CFAdmin)
  3. IIS custom 404 error handler
  4. 异常处理的最佳解决方案是什么?

    1. 我应该如何使用错误记录onError()方法或Site-Wide Error handler?两者之间是否有任何显着差异 这两个?
    2. 我是否需要对我编写的每个查询使用try / catch块?
    3. 因为有一些查询,我确信查询只会在数据库失败时失败。因此,如果数据库失败,则使用try / catch进一步处理页面没有意义。在这些情况下我该怎么办?

      我知道这个问题看起来有点主观,但我找不到比StackOverflow更好的地方。

2 个答案:

答案 0 :(得分:3)

要处理 404,,最好在网络服务器级别处理它。

对于全站点缺失模板,您可以在CF Admin中指定相同内容。确保Sitewide错误处理程序文件位置应该相对于CF webroot而不是webserver root。依赖文件可以放在网络服务器上。

请参阅http://blogs.coldfusion.com/post.cfm/onmissingtemplate,了解IIS 自定义404错误处理程序。这篇最近的博客文章详细描述了404和错误处理。

答案 1 :(得分:1)

答案是你应该使用这三种。

  1. onMissingTemplate()是特定于应用程序的(请记住,您可以在单个CF实例上拥有多个应用程序)。
  2. Missing Template Handler是特定于CF实例的。
  3. IIS custom 404 error handler适用于非CF文件(例如.htm.html等)。当然,您仍然可以将CF模板指定为自定义错误处理程序。
  4. 仅供参考,特定于应用程序的onMissingTemplate()方法优先于CF Admin Missing Template Handler。如果没有特定于应用程序的onMissingTemplate(),则会触发后者。

    就异常处理而言,这取决于许多因素,但多层次的方法也是好的。