在python中生成特定的异常
我想生成一个特定于我得到的错误的异常 在获得AWS会话时,用户必须输入MFA代码:在python中生成特定的异常,python,exception,boto3,Python,Exception,Boto3,我想生成一个特定于我得到的错误的异常 在获得AWS会话时,用户必须输入MFA代码: try: session = boto3.Session(profile_name=aws_account,region_name='us-east-1') except ValidationError as validation_error: print(f"A validation error has occurred: {vallidation_error}") except Excepti
try:
session = boto3.Session(profile_name=aws_account,region_name='us-east-1')
except ValidationError as validation_error:
print(f"A validation error has occurred: {vallidation_error}")
except Exception as e:
print(f"An exception has occurred: {e}")
set_regions(aws_account)
例外情况如下所示:
An exception has occcurred: An error occurred (ValidationError) when calling the AssumeRole operation: 2 validation errors detected: Value '2121212dsa' at 'tokenCode' failed to satisfy constraint: Member must satisfy regular expression pattern: [\d]*; Value '2121212dsa' at 'tokenCode' failed to satisfy constraint: Member must have length less than or equal to 6
为什么我的行
除了ValidationError as validation\u error:
不起作用?如何生成此错误特有的异常?我发现您在{vallidation\u error}中有一个输入错误,应该是{validation\u error}
我看到这段代码运行正常(我尝试了其他异常,尝试在下面一次取消注释一个异常)
尝试:
#session=bot3.session(profile\u name=aws\u账户,region\u name='us-east-1')
#raise VALUERROR(“创建会话时发生验证错误”)
引发名称错误(“出现名称错误异常”)
除ValueError作为验证错误外:
提升
打印(f“发生验证错误:{validation\u error}”)
例外情况除外,如e:
打印(f“发生异常:{e}”)
#设置_区域(aws_帐户)
输出
未注释的ValueError时:
raisevalueerror(“创建会话时发生验证错误”)
ValueError:创建会话时发生验证错误
未注释的NameError时(如示例所示):
发生异常:发生名称错误异常
我假设您正确导入了异常我看到您在{vallidation\u error}中有一个输入错误,应该是{validation\u error} 我看到这段代码运行正常(我尝试了其他异常,尝试在下面一次取消注释一个异常)
尝试:
#session=bot3.session(profile\u name=aws\u账户,region\u name='us-east-1')
#raise VALUERROR(“创建会话时发生验证错误”)
引发名称错误(“出现名称错误异常”)
除ValueError作为验证错误外:
提升
打印(f“发生验证错误:{validation\u error}”)
例外情况除外,如e:
打印(f“发生异常:{e}”)
#设置_区域(aws_帐户)
输出
未注释的ValueError时:
raisevalueerror(“创建会话时发生验证错误”)
ValueError:创建会话时发生验证错误
未注释的NameError时(如示例所示):
发生异常:发生名称错误异常
我假设您正确导入了异常请检查以下几点:
botocore
库import boto3
from botocore.exceptions import ValidationError
...
try:
session = boto3.Session(profile_name=aws_account,region_name='us-east-1')
except ValidationError as validation_error:
print(f"A validation error has occurred: {vallidation_error}")
except Exception as e:
print(f"An exception has occurred: {e}")
set_regions(aws_account)
PS:您似乎没有在脚本中导入异常。检查以下几点:
botocore
库import boto3
from botocore.exceptions import ValidationError
...
try:
session = boto3.Session(profile_name=aws_account,region_name='us-east-1')
except ValidationError as validation_error:
print(f"A validation error has occurred: {vallidation_error}")
except Exception as e:
print(f"An exception has occurred: {e}")
set_regions(aws_account)
PS:您似乎没有在脚本中导入异常。是否要自定义错误?当前您所做的只是在实际错误消息前面附加字符串。验证错误发生在实际错误消息前面,对信息没有任何影响。是的,我想要自定义错误。如果您发生自定义错误,
bot3.Session(…)
不会知道。您可能需要使用正则表达式来查找str(e)中包含的错误名称
.python版本?我的版本是3.8。是否需要自定义错误?当前您所做的只是在实际错误消息前面附加字符串。验证错误发生在实际错误消息前面,对信息不起任何作用。是的,我想要自定义错误。如果发生自定义错误,bot3.Session(…)
不会知道。您可能必须使用正则表达式来查找str(e)
中包含的错误名称。python版本?我使用的是3.8版。