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

标签 python exception output cherrypy

我对 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
 }

关于Python 2.*/Cherrypy - 将处理的异常作为对象或字符串并输出到错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41897447/

相关文章:

c++ - 输出窗口显示抛出的异常

java - 使用 throw 命令不会引发异常

c - 用 C 编写的蛇视频游戏 map

python - 插入查询mysql和python

python - python 中的 turtle - 试图让 turtle 移动到鼠标点击位置并打印其坐标

python - 将图像数据集存储到 4D 数组中然后显示每个图像会导致颜色失真

python - Django 1.5 在持久化上传文件时引发 UnicodeDecodeError

java - 方法注释可以处理该方法引发的错误吗?

c# - 任务异步模式和错误/异常/取消处理

java - 使用文件类循环输入文件