不要在异常堆栈中显示 Python raise-line

2024-05-02

当我在 Python 库中引发自己的异常时,异常堆栈将引发行本身显示为堆栈的最后一项。这显然不是一个错误,在概念上是正确的,但是当您在外部使用代码(例如作为模块)时,它会将重点放在对调试无用的东西上。

有没有办法避免这种情况并强制 Python 将上一个到最后一个堆栈项显示为最后一个,就像标准 Python 库一样。


适当的警告:修改解释器的行为通常是不受欢迎的。无论如何,准确地查看引发错误的位置可能有助于调试,特别是当函数可能因多种不同原因引发错误时。

如果您使用traceback http://docs.python.org/library/traceback.html模块,并更换sys.excepthook使用自定义函数,可能可以做到这一点。但是进行更改将影响整个程序的错误显示,而不仅仅是您的模块,因此可能不建议这样做。

您还可以考虑将代码放入 try/ except 块中,然后修改错误并重新引发它。但是,您的时间可能更好地花在避免意外错误的可能性上,并为可能出现的错误编写信息丰富的错误消息。

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

不要在异常堆栈中显示 Python raise-line 的相关文章

  • ValueError:请使用“Layer”实例初始化“TimeDistributed”层

    我正在尝试构建一个可以在音频和视频样本上进行训练的模型 但出现此错误ValueError Please initialize TimeDistributed layer with a Layer instance You passed Te
  • 定义Python源代码编码的正确方法

    PEP 263 http www python org dev peps pep 0263 定义如何声明Python源代码编码 通常 Python 文件的前两行应以以下内容开头 usr bin python coding
  • 数据框 - 平均列

    我在 pandas 中有以下数据框 Column 1 Column 2 Column3 Column 4 2 2 2 4 1 2 2 3 我正在创建一个数据框 其中包含第 1 列和第 2 列 第 3 列和第 4 列等的平均值 ColumnA
  • 检查 python 中命令行参数的数量

    我是蟒蛇新手 还是把脚弄湿了 我正在尝试做这样的事情 import sys if len sys argv lt 3 or lt len sys argv gt 3 print This script will compare two fi
  • 使用 Pytest 的参数化添加测试功能的描述

    当其中一个测试失败时 可以在测试正在测试的内容的参数化中添加描述 快速了解测试失败的原因 有时您不知道测试失败的原因 您必须查看代码 通过每个测试的描述 您就可以知道 例如 pytest mark parametrize num1 num2
  • python celery -A 的无效值无法加载应用程序

    我有一个以下项目目录 azima init py main py tasks py task py from main import app app task def add x y return x y app task def mul
  • OpenCV 跟踪器:模型未在函数 init 中初始化

    在视频的第一帧 我运行一个对象检测器 它返回对象的边界框 如下所示
  • 在Python中读取tiff标签

    我正在尝试用 Python 读取 tiff 文件的标签 该文件是 RGB 的uint16每个通道的值 我目前正在使用tifffile import tifffile img tifffile imread file tif 然而 img是一
  • 在 Mac OSX 上从 Python 3.6 运行 wine 命令

    我正在尝试用 Python 编写一个打开的脚本wine然后发送代码到wine终端打开一个 exe程序 这 exe程序也是命令驱动的 我可以打开wine 但我无法进一步 import shlex subprocess line usr bin
  • Jupyter 笔记本中未显示绘图图表

    我已经尝试解决这个问题几个小时了 我按照上面的步骤操作情节网站 https plot ly python getting started start plotting online并且图表仍然没有显示在笔记本中 这是我的情节代码 color
  • 为什么这个 if 语句会导致语法错误

    我正在尝试设置一个 elif 语句 如果用户按下 Enter 键 代码将继续 但是我不断遇到语法错误 GTIN 0 while True try GTIN int input input your gtin 8 number if len
  • Flask 应用程序路由中的多个参数

    烧瓶怎么写app route如果我在 URL 调用中有多个参数 这是我从 AJax 调用的 URL http 0 0 0 0 8888 createcm summary VVV change Feauure 我试图写我的烧瓶app rout
  • 如何在 Seaborn 中的热图轴上表达类

    我使用 Seaborn 创建了一个非常简单的热图 显示相似性方阵 这是我使用的一行代码 sns heatmap sim mat linewidths 0 square True robust True sns plt show 这是我得到的
  • Python守护进程:保持日志记录

    我有一个将一些数据记录到磁盘的脚本 logging basicConfig filename davis debug log level logging DEBUG logging basicConfig filename davis er
  • 基于值而不是类型的单次调度

    我在 Django 上构建 SPA 并且有一个庞大的功能 其中包含许多功能if用于检查我的对象字段的状态名称的语句 像这样 if self state new do some logic if self state archive do s
  • numpy polyfit 中使用的权重值是多少以及拟合误差是多少

    我正在尝试对 numpy 中的某些数据进行线性拟合 Ex 其中 w 是该值的样本数 即对于点 x 0 y 0 我只有 1 个测量值 该测量值是2 2 但对于这一点 1 1 我有 2 个测量值 值为3 5 x np array 0 1 2 3
  • 寻找完美的正方形

    我有这个Python代码 def sqrt x ans 0 if x gt 0 while ans ans lt x ans ans 1 if ans ans x print x is not a perfect square return
  • 非法指令:MacOS High Sierra 上有 4 条指令

    我正在尝试在 pygame 3 6 中制作一个看起来像聊天的窗口 我刚刚将我的 MacBook 更新到版本 10 13 6 在我这样做之前它工作得很好 但在我收到消息之后 非法指令 4 Code import pygame from pyg
  • 高效创建抗锯齿圆形蒙版

    我正在尝试创建抗锯齿 加权而不是布尔 圆形掩模 以制作用于卷积的圆形内核 radius 3 no of pixels to be 1 on either side of the center pixel shall be decimal a
  • 如何在 scikit 中加载 CSV 数据并将其用于朴素贝叶斯分类

    尝试加载自定义数据以在 Scikit 中执行 NB 分类 需要帮助将示例数据加载到 Scikit 中 然后执行 NB 如何加载目标的分类值 使用相同的数据进行训练和测试 或使用完整的数据集进行测试 Sl No Member ID Membe

随机推荐

  • 具有多个 FROM 表的 TableGateway

    我想做一个简单的INNER JOINZend2 中的两个表之间 具体来说 我想在 Zend2 中这样做 SELECT FROM foo bar WHERE foo foreign id bar id 我有一个FooTable class F
  • 尝试使用 C#.Net 编码 HMAC-SHA256

    我尝试将 HMAC SHA256 算法编码为函数 HMAC K m H K opad H K ipad m where H 是加密哈希函数 K 是一个秘密密钥 在哈希函数的输入块大小或原始密钥的哈希值 如果它长于该块大小 的右侧添加了额外的
  • font-face 声明中还需要 eot、ttf 和 svg 吗?

    到目前为止 我一直使用 Paul Irish 的防弹字体语法 http www paulirish com 2009 bulletproof font face implementation syntax 但我只是在寻找对 woff 和 w
  • 将表中的行相对于另一个表拖放[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 嘿 我有两个行数相同的表 例如 如果我尝试对 tableOne 中的一行 例如 row 3 进行排序 则其他表 tabl
  • printf 字符串,可变长度项

    define SIZE 9 int number 5 char letters SIZE this wont be null terminated char fmt string 20 sprintf fmt string d ds SIZ
  • scala-js 如何与 sbt-web 集成?

    我想用scala js https github com scala js scala js with sbt web https github com sbt sbt web以这样的方式 它可以被编译以生成添加到资产管道中的 JavaSc
  • 如何用 PHP 编写固定宽度的文本文件

    我正在尝试做一些应该很容易的事情 但遇到了问题 我想要做的就是从 MySQL 表生成报告 并将其作为纯 txt 文件 我需要文件固定宽度 因此一切都排列整齐并且看起来不错 我将使用 courier 字体 它只是一个准系统表格 但我如何才能真
  • 当应用程序崩溃时,Android Studio ADB 会清除 logcat 文件!哦美伊

    刚刚升级了最新的Android Studio 现在 当应用程序崩溃时 日志文件 adb logcat 就会消失 它不仅停止记录整个日志似乎突然被删除了 对于调试来说不太酷 我需要设置日志缓存大小或其他什么吗 还注意到调试器需要很长时间来收集
  • DBI:在 eval 中引发错误

    这个问题参考了池上的评论 But if you re going to put an eval around every statement just use RaiseError gt 0 in this thread https sta
  • 在 Django 中延迟文件下载的正确方法

    我有一个基于类的视图 它触发用户编写和下载报告 通常在def get我刚刚编译的班级报告 添加response Content Disposition attachment filename somefilename pdf 并向用户返回响
  • 如何在Java程序中检索环境变量的修改值(外部修改的)?

    是否可以在 Java 程序中检索环境变量的修改值 我尝试使用System getenv 但新的值并没有体现在程序中 场景是这样的 该程序检索环境变量的值 当程序仍在运行时 该变量的值可以从外部更改 甚至可以是手动过程 例如在 Windows
  • 如何使用 MFC 禁用顶级菜单项并使其变灰

    我有一个对话框应用程序 我希望在对话框顶部有可单击的菜单项 这些项目不显示下拉菜单 但实际上运行关联的命令 我通过在对话框属性中设置 Popup False 并分配消息 ID 来做到这一点 但我的问题是 当项目可点击没有意义时 无法正确禁用
  • iOS 6 调试控制台不见了?

    当我进行故障排除时 我曾经使用移动 Safari 的 调试控制台 来打印 console log 消息 在 iOS 6 中 Safari 的高级设置中 Web 检查器 取代了 调试控制台 不幸的是 我的公司不允许我将我们正在测试的手机插入我
  • NetworkX节点属性图

    我使用 networkx 进行可视化 当我使用该功能时我看到 绘制网络x边缘标签 我可以检索边缘的标签 我想在节点上打印属性 而不是标签 几乎尝试一切 仍然卡住了 如果我每个节点有 5 个属性 我是否可以在每个节点上打印特定属性 例如 如果
  • C++ 中 -> 是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的点 运算符和 gt 有什么区别 https stackoverflow com questions 1238613 what is the difference between the dot
  • 使用 Javascript 防止刷新“跳转”

    我注意到 如果您在一个页面上并且向下滚动了很多 如果您刷新页面 大多数浏览器会将您跳回到您的位置 有什么办法可以防止这种情况发生吗 我研究了两个选项 但在 Webkit Firefox 上都不一致 window scrollTo 0 1 h
  • 了解 FacesContext 实例化详细信息

    莫贾拉 2 2 12 这是接管实例化的代码段面孔上下文 http grepcode com file repo1 maven org maven2 javax faces jsf api 2 1 javax faces webapp Fac
  • .NET 3.5 DirectoryServices.AccountManagement 中的不明确名称解析 (anr=*ma*) 等效项

    淘汰旧的 引进新的 呃 我正在搁置旧的 vb net asp net 2 0 asmx 服务 转而使用闪亮的新 c net asp net 4 0 WCF 服务 我的旧服务使用 System DirectoryServices Direct
  • 如何在 AWS Insights 上可视化由多个维度聚合的时间序列数据?

    我想使用 cloudwatch Insights 来可视化主机随时间变化的平均延迟的多线图 每个主机一根线 此统计查询提取延迟并按主机将其聚合在 10 分钟的存储桶中 但它不会生成任何可视化 stats avg latencyMS by b
  • 不要在异常堆栈中显示 Python raise-line

    当我在 Python 库中引发自己的异常时 异常堆栈将引发行本身显示为堆栈的最后一项 这显然不是一个错误 在概念上是正确的 但是当您在外部使用代码 例如作为模块 时 它会将重点放在对调试无用的东西上 有没有办法避免这种情况并强制 Pytho