求Python的try/except优雅写法,或其它方式实现这功能
# 目的是当程序块1出现异常,就执行程序块2,当程序块2再出现异常就执行程序块3,当程序块3还出现异常,就执行程序块4# 以下方式可满足这个目的,还有没有其它优雅的写法,或其他方式来实现这个
a = '1'
b = '2'
c = '3'
d = '4'
try:
try:
try:
print(a + 1)# 程序块1
except:
print(b + 1)# 程序块2
except:
print(c + 1)# 程序块3
except:
print(d + 1)# 程序块4 你的except写的太宽泛了,基本在项目中起不到什么作用 假设在一个函数里,就可以用return来解决嵌套的问题,例如
def test_func():
try:
return a+1
except:
pass
try:
return b+1
.... def fun():
# 1
try:
A1()
return
except:
pass
# 2
try:
A2()
return
except:
pass
# 3
try:
A3()
return
except:
pass 不晓得这个方法可以不可以。
aa = "1234"
flag = False
for i in aa:
try:
print(i + 1)# 程序块1
flag = True
except:
print("Error " + i)
if flag:
break
print("End") def f1():
pass
def f2():
pass
def f3():
pass
def f4():
pass
fs = (f1, f2, f3, f4)
for f in fs:
try:
f()
break
except:
pass
a = '1'
b = '2'
c = '3'
d = '4'
try:
print(a + 1)
except:
try:
print(b + 1)
except:
try:
print(c + 1)
except:
print(d + 1) Python 3.11 提供了一个异常组,ExceptionGroup whydontknow 发表于 2022-12-26 09:25
为什么要加这么多try?非要加不可的话也建议except不要写这么宽泛
别人是求组你问为啥 paypojie 发表于 2022-12-26 10:45
a = '1'
b = '2'
c = '3'
这个思路更简洁易懂,谢谢了
页:
[1]
2