我如何知道方法调用可能引发哪些异常?

2023-12-06

有没有办法知道(在编码时)执行 python 代码时会出现哪些异常?

我最终在 90% 的情况下捕获了 Exception 基类,因为我不知道可能会抛出哪种异常类型(阅读文档并不总是有帮助,因为很多时候异常可以从深处传播。而且很多时候文档未更新或不正确)。

是否有某种工具可以检查这一点(例如通过阅读Python代码和库)?


您应该只捕获您将处理的异常。

通过具体类型捕获所有异常是无稽之谈。您应该捕获特定的异常can and will处理。对于其他异常,您可以编写一个通用的 catch 来捕获“基本异常”,并将其记录下来(使用str()函数)并终止您的程序(或在崩溃情况下执行其他适当的操作)。

如果你真的要处理all异常并且确保它们都不是致命的(例如,如果您在某种沙盒环境中运行代码),那么捕获通用 BaseException 的方法就符合您的目标。

您可能还感兴趣语言异常参考,不是您正在使用的库的参考。

如果库引用确实很差并且在捕获系统异常时不会重新抛出自己的异常,唯一有用的方法是运行测试(也许将其添加到测试套件中,因为如果某些内容未记录,它可能会发生变化!)。删除对代码至关重要的文件并检查抛出的异常。提供太多数据并检查它会产生什么错误。

无论如何,你都必须运行测试,因为,即使如果存在通过源代码获取异常的方法,它不会让您知道应该如何处理其中任何一个。也许您应该显示错误消息“找不到文件 needful.txt!”当你抓住IndexError?只有测试才能知道。

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

我如何知道方法调用可能引发哪些异常? 的相关文章

  • 将 pandas 数据框中的列减去其第一个值

    我需要将 pandas 数据帧的一列中的所有元素减去其第一个值 在这段代码中 pandas 抱怨 self inferred type 我猜这是循环引用 df Time df Time df Time 0 在这段代码中 pandas 抱怨为
  • Matplotlib 标准化颜色条 (Python)

    我正在尝试使用 matplotlib 当然还有 numpy 绘制轮廓图 它有效 它绘制了它应该绘制的内容 但不幸的是我无法设置颜色条范围 问题是我有很多图 并且需要所有图都具有相同的颜色条 相同的最小值和最大值 相同的颜色 我复制并粘贴了在
  • 有没有办法防止 Visual Studio 因特定方法中的异常而中断?

    我知道我可以根据异常的类型以及最终使用 异常 对话框捕获异常的事实来控制 Visual Studio 处理异常的方式 但是 我有一个在内部抛出 并捕获 一个库ArgumentOutOfRange当我调用特定方法时出现异常 抛出异常 并被库捕
  • 在 Python 中使用 XPath 和 LXML

    我有一个 python 脚本 用于解析 XML 并将某些感兴趣的元素导出到 csv 文件中 我现在尝试更改脚本以允许根据条件过滤 XML 文件 等效的 XPath 查询将是 DC Events Confirmation contains T
  • NLTK、搭配问题:需要解包的值太多(预期为 2)

    我尝试使用 NLTK 检索搭配 但出现错误 我使用内置的古腾堡语料库 I wrote alice nltk corpus gutenberg fileids 7 al nltk corpus gutenberg words alice al
  • Sorted(key=lambda: ...) 背后的语法[重复]

    这个问题在这里已经有答案了 我不太明白背后的语法sorted 争论 key lambda variable variable 0 Isn t lambda随意的 为什么是variable在看起来像的内容中陈述了两次dict 我认为这里的所有
  • 将一个时间序列插入到 pandas 中的另一个时间序列中

    我有一组定期测量的值 说 import pandas as pd import numpy as np rng pd date range 2013 01 01 periods 12 freq H data pd Series np ran
  • python ttk treeview:如何选择并设置焦点在一行上?

    我有一个 ttk Treeview 小部件 其中包含一些数据行 如何设置焦点并选择 突出显示 指定项目 tree focus set 什么也没做 tree selection set 0 抱怨 尽管小部件明显填充了超过零个项目 但未找到项目
  • 使用 genfromtxt 导入 numpy 中缺失值的 csv 数据

    我有一个 csv 文件 看起来像这样 实际文件有更多的列和行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 假设文件的名称是info csv如果我尝试使用导入它 data numpy genfromtxt i
  • Python While 循环,and (&) 运算符不起作用

    我正在努力寻找最大公因数 我写了一个糟糕的 运算密集型 算法 它将较低的值减一 使用 检查它是否均匀地划分了分子和分母 如果是 则退出程序 但是 我的 while 循环没有使用 and 运算符 因此一旦分子可整除 它就会停止 即使它不是正确
  • 在 Mac 上安装 Pygame 到 Enthought 构建中

    关于在 Mac 上安装 Pygame 有许多未解答的问题 但我将在这里提出我的具体问题并希望得到答案 我在 Mac 上安装 Pygame 时遇到了难以置信的困难 我使用 Enthought 版本 EPD 7 3 2 32 位 它是我的默认框
  • 使用 python 将文本发送到带有逗号分隔符的列

    如何使用分隔符 在 Excel 中将一列分成两列 并使用 python 命名标题 这是我的代码 import openpyxl w openpyxl load workbook DDdata xlsx active w active a a
  • Python int 太大,无法放入 SQLite

    我收到错误 OverflowError Python int 太大 无法转换为 SQLite INTEGER 来自以下代码块 该文件约25GB 因此必须分部分读取 length 6128765 Works on partitions of
  • Python模块单元测试的最佳文件结构组织?

    遗憾的是 我发现有太多方法可以在 Python 中保存单元测试 而且它们通常没有很好的文档记录 我正在寻找一种 终极 结构 它可以满足以下大部分要求 be discoverable by test frameworks including
  • 如何在单独的文件中使用 FastAPI Depends 作为端点/路由?

    我在单独的文件中定义了一个 Websocket 端点 例如 from starlette endpoints import WebSocketEndpoint from connection service import Connectio
  • Pandas 在特定列将数据帧拆分为两个数据帧

    I have pandas我组成的 DataFrameconcat 一行由 96 个值组成 我想将 DataFrame 从值 72 中分离出来 这样 一行的前 72 个值存储在 Dataframe1 中 接下来的 24 个值存储在 Data
  • 如何对字符串列表进行排序?

    在 Python 中创建按字母顺序排序的列表的最佳方法是什么 基本回答 mylist b C A mylist sort 这会修改您的原始列表 即就地排序 要获取列表的排序副本而不更改原始列表 请使用sorted http docs pyt
  • 将 Scikit-Learn OneHotEncoder 与 Pandas DataFrame 结合使用

    我正在尝试使用 Scikit Learn 的 OneHotEncoder 将 Pandas DataFrame 中包含字符串的列替换为 one hot 编码的等效项 我的下面的代码不起作用 from sklearn preprocessin
  • PyQt 中的线程和信号问题

    我在 PyQt 中的线程之间进行通信时遇到一些问题 我使用信号在两个线程 发送者和监听者 之间进行通信 发送者发送消息 期望被监听者接收 但是 没有收到任何消息 谁能建议可能出了什么问题 我确信这一定很简单 但我已经环顾了几个小时但没有发现
  • 将此 MATLAB 代码转换为 Python 时我做错了什么?

    我正在努力将生成波形的 MATLAB 代码转换为 Python 就上下文而言 这是原子力显微镜带激发响应的模拟 与代码错误无关 在 MATLAB 中从 r vec 生成的图形与我在 Python 中生成的图形不同 我是否正确地将 MATLA

随机推荐

  • 如何定义一个不是类的泛型类型?

    我想定义一个通用类型 就像是 from typing import TypeVar Sequence Union Generic T TypeVar T RecurSeqOf Sequence Union Generic T Sequenc
  • 如何使用不可变的 Salat 案例类更新 Mongo 中的对象

    我正在使用 Scala Salat Casbah Mongo Play2 BackboneJS 开发一个项目 但同时需要学习很多新东西 我对 Scala 没问题 但我找到了我的代码蹩脚 我真的不知道改进它的解决方案是什么 基本上我的用例是
  • Google 脚本 - 如何使用解压

    我正在从网站下载 zip 它包含一个 txt 文件 我想访问 txt 中的数据并将其写入电子表格 我愿意直接访问它而不解压 zip 或者解压 zip 将 txt 保存到 Google 云端硬盘文件夹 然后在保存后访问它 当我使用Utilit
  • 使用三路 diff 进行 diff

    Another 所以 问题显示如何配置git使用三路差异来解决合并冲突 是否可以将这种三向样式设置为标准 diff 操作的默认值 如果我请求存在公共根 不仅仅是版本之一 的版本之间的差异 则公共根的更改将显示在差异中 恐怕答案是否定的 这样
  • 如何在 Android 中添加 PNG 图像作为背景而不进行任何更改(条带)?

    我正在尝试添加包含渐变的背景 我确实想使用图像 而不是 android xml 声明的渐变效果 这张图片被 Android 严重破坏了 它添加了一些蹩脚的条带 无论我尝试什么 结果都是相同的 两次捕获大约相同区域的扭曲 正常图像 我的图像用
  • kubernetes 部署中当前的 pod 副本和可用的 pod 副本有什么区别?

    我正在尝试亲自接触 Kubernetes 我正在触发以下命令 kubectl get deployment 我在输出中得到以下标题 我找不到之间的区别current and available以下输出中的列 我知道官方文档对每个字段都做了简
  • 如何验证 Rails 中的重叠时间

    我有一个Event model具有form时间和to我的日程应用程序中的时间 我想在保存之前验证重叠时间 我的视图图像如下 Departure date Dec 31 2016 Day1 07 00 07 20 event1 10 30 1
  • 如何从服务获取数据到活动

    在我的应用程序中 我有一项活动和一项服务 该服务将广播从 GPS 数据收集的消息 Activity 应该接收广播消息并更新 UI 我的代码 public class LocationPollerDemo extends Activity p
  • Rspec 规格和 Rake 规格给出不同的结果

    这似乎是最常被问到的问题 我在两者中运行时都有一个应用程序rake spec and rspec输出似乎不同 当使用 rspec spec p 命令时 会显示 0 个失败消息 而当使用 rake spec 时 会显示很少的错误 当你跑步时
  • 使用 Rcpp 处理 R 中的矩阵是否有限制?

    我试图用 R 开发一个程序来估计 Spearman 与 Rcpp 的相关性 我做到了 但它只适用于向量范围小于 45 00 50 000 的矩阵 我不知道为什么 但它只适用于那个维度 我想这种类型的信息是有限制的 也许如果我像 data f
  • java.lang.ClassNotFoundException: org.springframework.faces.security.FaceletsAuthorizeTagHandler

    我尝试添加 Spring Security Facelets 标签库 因为它是这样写的here 我在web xml中添加
  • 将 PHP 网站与 Wordpress 用户身份验证集成

    我有一个现有的 Wordpress 网站 如果用户想要访问其他内容 完整故事 过去故事的存档等 则需要登录 我使用 PHP 和 MySQL 构建了一个新网站 该网站将托管在不同的服务器上 该网站的目标受众是访问前面提到的文章网站的同一受众
  • SKEmitterNode 粒子动作不工作 iOS9 Beta

    我正在 iOS9 Beta 4 中测试我的应用程序 发现许多曾经在 iOS8 中运行的代码不再按预期运行 另一个例子是 SpriteKit 的 SKEmitterNode articleAction 属性 以下代码在 iOS8 上有效 但在
  • Azure WebJobs NuGet 包错误

    我想知道是否有人在 Visual Studio 模板上的 Azure WebJobs 队列示例上遇到过运行错误 在我更新 NuGet 管理器上的所有包后 运行的示例会发出问题 这是错误消息 System InvalidOperationEx
  • 另一个字符串的子字符串会阻止父字符串被垃圾收集吗?

    String samplel ToBeGarbageCollected String sample2 samplel substring 0 1 samplel null 我知道子字符串内部会保留原始字符串的引用 但通过明确定义sample
  • 如何将更改从骨架子存储库拉入生产超级存储库

    我正在使用奥里莉亚骨架其中包含用于不同目的的各种项目设置 但这更多的是一个一般性问题 即如何使用 git 做一些事情 如下所述 我希望能够将 GitHub 框架存储库中发布的更新合并到我实际正在处理的项目中 你会怎么做 目前 我刚刚在 sc
  • 使用过滤器编辑 site_url

    使用 WordPress 调用site url 返回完整的站点 URL http www example com 我想做的是添加一些东西 add something here 在带有过滤器的 URL 末尾 我期待的结果是 http www
  • 仅将函数应用于具有可变位置的一列

    我有一堆不同的文件 所有文件都包含标题为 ID 的列 但不一定位于所有文件中的同一位置 我有一个函数想要应用于所有文件中的 ID 以将它们更改为 NEWID 我知道如果我传入 ID 的列号 我可以非常简单地做到这一点 假设它是 5 列文件中
  • 整数与长混淆

    我看到很多人相信以下观点 VBA 将所有整数值转换为 Long 类型 事实上 即使是MSDN 文章 says 然而 在最近的版本中 VBA 会将所有整数值转换为 Long 类型 即使它们被声明为 Integer 类型 这怎么可能 考虑这个简
  • 我如何知道方法调用可能引发哪些异常?

    有没有办法知道 在编码时 执行 python 代码时会出现哪些异常 我最终在 90 的情况下捕获了 Exception 基类 因为我不知道可能会抛出哪种异常类型 阅读文档并不总是有帮助 因为很多时候异常可以从深处传播 而且很多时候文档未更新