在 Flask 中捕获 500 服务器错误

2024-03-02

我喜欢 Flask 的错误捕获功能。它非常简单:

@app.errorhandler(404)
def pageNotFound(error):
    return "page not found"

就像魅力一样起作用。但它不适用于 500 错误代码。我想在代码中出现问题时捕获 Python 错误。那可能吗?

我应该注意,如果我明确调用return abort(500)在视图中,500 错误处理程序确实有效。所以这是明确针对 Python 代码失败的情况。

这可能吗?


默认情况下,您所描述的是 Flask 的工作原理。我的假设是您正在调试模式下运行,因此在调试屏幕中向您显示异常。确保调试模式已关闭,然后重试。这里有一个直接从代码本身注释: https://github.com/mitsuhiko/flask/blob/2ab91446f608755affba035650c1dd74b825a018/flask/app.py#L1446-L1450

当异常发生时启动的默认异常处理 没有被抓住。在调试模式下,异常将被重新引发 立即,否则将被记录并处理 500 内部 使用服务器错误。如果不存在这样的处理程序,则默认为 500 显示内部服务器错误消息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Flask 中捕获 500 服务器错误 的相关文章

  • 使用 OpenCV 进行图像模糊检测

    我正在研究图像的模糊检测 我已经用过拉普拉斯方法的方差在 OpenCV 中 img cv2 imread imgPath gray cv2 cvtColor img cv2 COLOR BGR2GRAY value cv2 Laplacia
  • Pandas cut 方法不包括下限

    我正在尝试对包含 0 到 100 范围内的年龄的数据帧列进行分箱 当我尝试使用垃圾箱来包含零年龄时 它不起作用 这是一个使用包含我的数据范围的列表的演示 pd cut pd Series range 101 0 24 49 74 100 范
  • 点击后 Dash DropDown 关闭

    我不希望下拉菜单在选择值后关闭 我希望它在我的页面上保持打开状态 我正在使用 dcc Dropdown dcc Dropdown id job type options self options placeholder Select one
  • Python中非常大的整数的math.pow是错误的[重复]

    这个问题在这里已经有答案了 我试图通过计算一个整数的非常大的幂来打印一个非常大的数字 尽管我的代码是正确的 但我没有观察到所需的输出 一般来说 Python解释器可以打印系统内存支持的非常大的整数 考虑到这个假设 下面是我正在运行的代码 a
  • PRAW 出现 SSLError?

    我正在尝试开始使用 PRAW 但在使用 login 时遇到问题 我有以下代码 import praw r praw Reddit This is a test bot r login myRedditUsername password 我收
  • 将Python嵌入到C中——导入模块

    我在使用嵌入式 Python for C 时遇到问题文档 http docs python org extending embedding html 每当我尝试使用导入的模块时 我都会得到 PythonIncl exe 中 0x1e089e
  • UTF-8 解码如何知道字节边界?

    我一直在阅读大量有关 unicode 编码的文章 尤其是有关 Python 的文章 我想我现在对此已经有了相当深入的了解 但仍有一个小细节我有点不确定 解码如何知道字节边界 例如 假设我有一个带有两个 unicode 字符的 unicode
  • Python 将 0 计算为 False

    在 Python 控制台中 gt gt gt a 0 gt gt gt if a print L gt gt gt a 1 gt gt gt if a print L L gt gt gt a 2 gt gt gt if a print L
  • Python服务器“通常只允许每个套接字地址使用一次”

    我正在尝试用 python 创建一个非常基本的服务器 它侦听端口 当客户端尝试连接时创建 TCP 连接 接收数据 发回某些内容 然后再次侦听 并无限期地重复该过程 这是我到目前为止所拥有的 from socket import server
  • Tensorflow:Cuda 计算能力 3.0。所需的最低 Cuda 能力为 3.5

    我正在从源安装tensorflow 文档 https www tensorflow org versions r0 10 get started os setup html installing from sources Cuda驱动版本
  • 尝试安装 python 包 Box2D 时出错

    我正在尝试通过 pip 安装 Box2D 软件包的版本 2 3 10 但是 pip 返回以下错误消息 ERROR Could not find a version that satisfies the requirement Box2D 2
  • Python 日志记录 - 如何检查记录器是否为空

    我刚刚在我的应用程序中实现了日志记录 我想知道是否有一种方法可以检查记录器是否为空 我的想法是在我的脚本中设置两个处理程序 一个用于带水平仪的控制台WARNING 一个用于带级别的文件DEBUG 在脚本的最后 我需要检查是否CONSOLE记
  • Python:使用Excel CSV文件仅读取某些列和行

    虽然我可以读取 csv 文件而不是读取整个文件 但如何仅打印某些行和列 想象一下这是 Excel A B C D E State Heart Disease Rate Stroke Death Rate HIV Diagnosis Rate
  • Python 多处理:全局对象未正确复制到子级

    前几天我回答了一个关于SO的问题 https stackoverflow com q 67047533 1925388关于并行读取 tar 文件 这是问题的要点 import bz2 import tarfile from multipro
  • pygame.image.load 不工作

    我正在尝试为游戏创建世界地图 但是当我尝试将世界地图加载到屏幕上时 命令行告诉我无法执行此操作 这是代码 import sys import pygame from pygame locals import pygame init Surf
  • 在 CSV 文件的最上面一行写入

    我有这个sample csv 文件 a 1 apple b 2 banana c 3 cranberry d 4 durian e 5 eggplant 并有以下代码 samplefile open sample csv rb rows s
  • 如何使 cx-oracle 将查询结果绑定到字典而不是元组?

    这是我的代码 我想找到一种方法将查询结果作为字典列表而不是元组列表返回 看起来 cx oracle 通过部分文档讨论 绑定 来支持这一点 虽然我不知道它是如何工作的 def connect dsn cx Oracle makedsn hos
  • “gi.repository.Gtk”对象没有属性“gdk”

    我正在尝试使用 GTK 创建多线程 需要 Gtk gdk 但我收到有关没有 gdk 属性的错误 我正在使用带有 Raspbian 的 Raspberry Pi 这就是我导入 GTK 库的方式 try import pygtk pygtk r
  • 添加条件计数器:基于其他列的值的计数器列

    我有一张这样的桌子 id id2 val a red apple a red orange b blue fish c violet beef a yellow banana a black pork 我想根据 id 和 id2 的值创建一
  • Django 表单中的只读字段

    如何在 Django 表单中将字段设置为只读 我知道如何禁用某个字段 但这不是我想要的 任何帮助 将不胜感激 您可以使用可选的attrs定义时的参数Field 以机智 somefield forms CharField widget for

随机推荐

  • WPF DataGrid AlternatingRowBackground 和 RowStyle 优先级

    我该如何做我的RowStyle后申请AlternatingRowBackground 我想要物品 有IsOrange as true具有Orange背景 无论交替的行背景如何 目前情况并非如此 XAML
  • 当选择文本时,如何用我自己的视图替换 UIMenuController?

    当选择文本时 默认情况下会弹出一个 UIMenuController 其中包含剪切 复制 粘贴等功能 我想用我自己的自定义视图替换它 外观相似 但高两倍 以便我可以有两行按钮 自定义视图 我怎样才能做到这一点 我知道没有简单的方法 我预计即
  • Mongodb动态like运算符

    在 mongodb 中相当于 sql like 运算符是 db users find shows m 使用 nodejs javascript 我想根据 url 参数动态更改字母 我努力了 letter req params letter
  • RxJava Observable.fromEmitter 奇怪的背压行为

    我一直在利用Observable fromEmitter 作为一个绝佳的替代品Observable create 我最近遇到了一些奇怪的行为 但我不太明白为什么会出现这种情况 我真的很感谢对背压和调度程序有一定了解的人来看看这个 publi
  • WebClient.DownloadString 速度慢?

    我正在开发一个使用 ASP Net 3 5 运行的 Web 应用程序 在应用程序的某个地方 我正在调用外部系统 此调用包括从特定 url 下载字符串 string targetUrl BuildMyUrl WebClient wc new
  • str(列表) 是如何工作的?

    为什么str list 返回我们如何在控制台上看到列表 如何str list 工作 任何对 CPython 代码的引用str list gt gt gt x abc def ghi gt gt gt str x abc def ghi 要从
  • 通过 C/C++ 程序使 LED 闪烁的步骤?

    通过 C C 程序制作带有 LED 闪光灯的小电路的最简单步骤是什么 我希望所需的依赖项和包数量最少 我应该将某些东西连接到哪个端口 我会使用哪个编译器 如何将数据发送到该端口 我需要微处理器吗 如果不是 我不想在这个简单的项目中使用它 编
  • 在 Jenkinsfile 中设置 SonarQube Webhook

    我正在尝试创建一个 Jenkins 多分支管道 在每次推送到 bitbucket 时 都会对项目的该分支执行 SonarQube 分析 Jenkins 正确地为每个分支创建新作业 并在 SonarQube 中创建一个新项目 并将分支名称附加
  • 表面和纹理之间的差异(SDL/一般)

    谁能用简单的语言向我解释一下纹理和表面有什么区别 我看到它用在SDL2 as SDL Surface and SDL Texture SDL Texture是从创建的SDL Surface它又是从图像 位图创建的 两者都是像素的集合 但我没
  • 静态 uint8_t 数组的输入过程和类型

    我目前正在尝试将 Arduino IDE 中的整数变量转换为静态 uint8 t 数组的值 我在用 include
  • .NET 如何定位我正在“使用”的命名空间的 dll?

    NET如何定位我所在命名空间的dllusing 是的 我们确实提到了 referene c program files 中的路径 但是在构建和部署之后以及当软件安装在某些用户的计算机上时 它可能与我 开发人员 提到的路径不同 我的意思是它可
  • 如何删除 Rails 中的索引

    我发现我的架构中有两个 survey id 列 这给我带来了一些问题 具体来说 我需要删除第二个索引 因为我不希望 Survey id 是唯一的 add index completions survey id name index comp
  • .NET Core IHttpContextAccessor 问题

    我有静态助手类 public static class Current public static string Host get return httpContextAccessor here 如何访问 Host 属性中的当前 HttpC
  • 在Lua中注册C++函数?

    我正在尝试在 Lua 中注册一个 C 函数 但出现此错误 CScript cpp 39 error argument of type int CScript lua State does not match int lua State ED
  • 为什么 requirejs 尝试加载 .map?

    我正在尝试从 CDN 具体来说是 cdnjs 加载脚本 并且在 requirejs 中您必须像这样保留扩展名 require config baseUrl static js paths underscore cdnjs cloudflar
  • 使用 Active Record & Rails ORDER BY 有时为空的列

    在我的 Rails 应用程序 使用 postgresql 中 我尝试编写一个 Active Record 查询来查找一组志愿者记录 然后按以下顺序对它们进行排序first name then last name then email 此外
  • 如何获取ARN(亚马逊资源名称)?

    我正在尝试使用 AWS 资源标记 API Net 将标签添加到 AWS 资源 我遇到的问题是 Tagging API 使用ARNs作为资源的标识符 但是当我下载资源时 我拥有的唯一 Id 是 InstanceId 有没有一种方法 基于Ins
  • c++0x std::shared_ptr 与 boost::shared_ptr

    我有一个大量使用的 C 代码shared ptr和STL 一个常见的标题说 include
  • 模块和ajax调用

    我正在尝试创建对自定义控制器的 ajax 调用 我一直在关注 http www atwix com magento ajax requests in magento http www atwix com magento ajax reque
  • 在 Flask 中捕获 500 服务器错误

    我喜欢 Flask 的错误捕获功能 它非常简单 app errorhandler 404 def pageNotFound error return page not found 就像魅力一样起作用 但它不适用于 500 错误代码 我想在代