Python 我可以有多个try语句连接到一个try语句吗?
因此,我希望能够高效地用python编写代码,我正在做如下工作:Python 我可以有多个try语句连接到一个try语句吗?,python,performance,Python,Performance,因此,我希望能够高效地用python编写代码,我正在做如下工作: 试试看: #代码A 除: #代码A 尝试: #代码B 除: #代码B 尝试: #代码B 除: #代码B 但是我想把它们都链接到一个,除了块,这样我就可以使用else语句来捕获它们了!(预期参考)。 那么我可以做如下的事情吗 try: #Code A try: #Code B except: #Code C else: #Code D 我已经尝试过代码,但对于我自己的发现和有限的“相似”问题,我得
试试看:
#代码A
除:
#代码A
尝试:
#代码B
除:
#代码B
尝试:
#代码B
除:
#代码B
但是我想把它们都链接到一个,除了块,这样我就可以使用else
语句来捕获它们了!(预期参考)。
那么我可以做如下的事情吗
try:
#Code A
try:
#Code B
except:
#Code C
else:
#Code D
我已经尝试过代码,但对于我自己的发现和有限的“相似”问题,我得到的只是:错误:无效语法“try:”
。对此我能做些什么吗?你实际上根本不需要那些额外的试试。每当try
块内出现异常时,跳过从该块开始直到该块结束的所有代码,控件立即跳转到匹配的块,但
块除外。同样,当try
块正常到达其末端时,执行else
块。通过这种方式,您不需要多个try
块-只需将它们连接成一个块,您就可以实现您的目标。不,您不能让多个try块仅与一个块关联,除了块。但您可以将除块之外的多个块关联为仅一个try块
每个try块都需要,但块除外。如果您未提供一个try块,则会出现异常
关联到一个try块的多个除外块的示例:-
try:
# do something
pass
except ValueError:
# handle ValueError exception
pass
except (TypeError, ZeroDivisionError):
# handle multiple exceptions
# TypeError and ZeroDivisionError
pass
except:
# handle all other exceptions
pass
假设您在try块中执行了一些操作,并且遇到了一个问题,那么首先,except块将接管控制权,如果它不能处理异常,那么下面的except块将处理它,依此类推
注意:如果第一个except块可以处理异常,则下一个except块不会执行或不会起作用。对于特定的异常类型,最好使用更通用的except块。
具有多个except块的单个try语句
try:
#put your risky code
# put another risky code
pass
# multiple exception block will help to catch exact exception and can perform
# operation
except KeyError:
pass
except IOError:
pass
except ValueError:
pass
except Exception:
pass
else:
pass
我对表演一无所知。。。应该只有一种合理的方法来处理您的异常。我认为你应该更关心正确性。