当前位置: 首页 > 知识库问答 >
问题:

如何从BOTO导入特定的错误?

梅修贤
2023-03-14

我在运行代码时遇到此异常(打印类以进行调试):

An error occurred (DBInstanceNotFound) when calling the DescribeDBInstances operation: DBInstance <instance name> not found.
<class 'botocore.errorfactory.DBInstanceNotFoundFault'>

我想像这样正确地处理异常:

from botocore.exceptions import DBInstanceNotFoundFault
from botocore.errorfactory import DBInstanceNotFoundFault
try:
    <fetch info about db instance>
except DBInstanceNotFoundFault as e:
    <handle error>

不幸的是,DBInstanceNotFoundFault既不存在于botocore.exceptions也不存在于botocore.errorfactory.我已经为DBInstanceNotFoundFault克隆了boto3以及botocore和grep'd,但就是找不到它。

如何导入?

共有1个答案

严修德
2023-03-14

对于boto3异常,您实际上并不导入错误,而是通过客户端访问它。看看这个:https://github.com/boto/boto3/issues/1195#issuecomment-317108970

import boto3
rds = boto3.client('rds')
try:
    ...
except rds.exceptions.DBInstanceNotFoundFault:
    ...
 类似资料:
  • 我有一个带有 INSERT 语句的代码块,其中应用了许多逻辑,几分钟后,由于任何其他插入错误(如“截断错误”等),它失败。因此,正如我在 catch 块中提到的,插入失败并引发错误,但我需要知道哪个特定 ID 导致该错误。有可能获得该ID吗?下面是我的示例代码块 在这个CATCH块中,如果插入失败,我们可以获得fieldA值以及ERROR_NUMBER()、ERROR_ MESSAGE()吗? 或

  • 我的代码如下(我怀疑你会需要这一切,但我已经提供了一切): 我通过运行以下命令验证了我确实有一个正常运行的安装: 它抛出了一个错误: 我尝试用标准的解释器以及运行它,但没有成功。

  • 我有一个不寻常的问题--我的Android应用程序包含原生库,而我为armeabi-v7a和x86构建原生库。然而,现在我需要将一个第三方库集成到我的应用程序中,该应用程序还包含本机库(第三方库是我通过Maven从我的build.gradle中包含的Crashlytics)。问题是第三方库的AAR提供了所有ARHiteTecure(armeabi、arm64-v8a、armeabi-v7a、mip

  • 问题内容: 来自我曾经通过告诉从甚至直接从控制台安装该版本的lib 的环境,我曾经将供应商的lib的特定版本安装到项目文件夹()中,如下所示: 然后,我通常使用以下命令在项目中导入该软件包的该版本: 现在,我想对做同样的事情。我怎样才能做到这一点?是否可以安装特定版本的软件包?如果是这样,使用集中式,如何导入一个版本而不是另一个版本? 我会做这样的事情: 但是,如何在导入过程中有所作为? 问题答案

  • 我的项目有两个OSGi包(A和B),它们需要使用不同版本的-A需要1.1.0版本,而B需要1.1.1版本。 如果我在这个sling.properties文件中给出的javax.activation的版本大于1.1.1,那么a和B都使用系统版本(尽管文件中指定了import-packages的版本);但如果我给出的版本小于1.1.1,那么两个包都使用AEM提供的版本。 如何配置我的Bundle,以便

  • 为了外部化用户界面字符串,我们使用支持的“消息类”方法,例如在Eclipse和其他IDE中。这种方法要求在每个需要一些用户界面字符串的包中,必须有一个类“消息”,该类提供一个静态方法,通过该方法可以获得实际的字符串以显示给用户。使用Java的资源机制在内部访问/获取字符串以实现国际化。 特别是在一些重构之后,我们一次又一次地从一个类中意外导入来自不同包的消息。 因此,我想创建一个archunit规