Python 2.* / Cherrypy - 将处理的异常作为对象或字符串并输出到错误页面

Python 2.* / Cherrypy - Get handled exception as object or string and output to error page

我对 CherryPy 的使用有疑问,到目前为止所有调查都没有得出有效的解决方案。

我想在自定义页面中处理和显示所有服务器错误(状态为 500 的错误)。例如,如果有一个特定的数据库错误,我想将它显示给用户并给出异常的字符串。

生成我目前使用的错误页面:

_cp_config = {'error_page.500': '<path_to_html_file>'}

但我找不到如何捕获并传递异常字符串并最终将其添加到输出给用户。

请注意,前端和后端之间有几个通信服务,所以我想避免使用 "try except" 结构。

关于如何操作的任何建议都会很有用。

非常感谢。

此致, 泰迪

错误处理的配置选项可以配置为接受具有以下签名的可调用对象:(status, message='', traceback='', version='')

您可以定义:

def error_404(status, message='', traceback='', version=''):
    # do something, like rendering a template or send an email
    return "Not Found" # or return your rendered template

def error_500(status, message='', traceback='', version=''):
    # do something, like rendering a template or send an email
    return "Error 500" # or return your rendered template

_cp_config = {
   'error_page.500': error_500,
   'error_page.404': error_404
 }