Files
pylingual/test/TryExcept.py
T
2025-06-26 15:01:30 -05:00

299 lines
4.6 KiB
Python

def TryExcept():
try:
print(1)
except:
print(2)
print(3)
def TryExceptMulti():
try:
print(1)
except a:
print(2)
except b:
print(3)
except c:
print(4)
print(5)
def TryExceptMultiFallback():
try:
print(1)
except a:
print(2)
except b:
print(3)
except:
print(4)
print(5)
def TryExceptMultiNamed():
try:
print(1)
except A as a:
print(2)
except B as b:
print(3)
except C as c:
print(4)
print(5)
def TryExceptMultiNamedFallback():
try:
print(1)
except A as a:
print(2)
except B as b:
print(3)
except:
print(4)
print(5)
def TryExceptMultiNamedAndUnnamed():
try:
print(1)
except A as a:
print(2)
except b:
print(3)
except:
print(4)
print(5)
def TryExceptElseBare():
try:
print(1)
except:
print(2)
else:
print(3)
print(4)
def TryExceptElseMulti():
try:
print(1)
except a:
print(2)
except b:
print(3)
else:
print(4)
print(5)
def TryExceptElseMultiFallback():
try:
print(1)
except a:
print(2)
except b:
print(3)
except:
print(4)
else:
print(5)
print(6)
def TryExceptElseNamed():
try:
print(1)
except A as a:
print(2)
except B as b:
print(3)
else:
print(4)
print(5)
def TryExceptElseMultiNamedAndUnnamed():
try:
print(1)
except A as a:
print(2)
except b:
print(3)
except:
print(4)
else:
print(5)
print(6)
def TryFinallyBare():
try:
print(1)
finally:
print(2)
print(3)
def TryExceptFinallyBare():
try:
print(1)
except:
print(2)
finally:
print(3)
print(4)
##### NOT YET IMPLEMENTED #####
##### crashes cflow.py #####
##def TryExceptFinallyBareSpecific():
## try:
## print(1)
## except a:
## print(2)
## finally:
## print(3)
## print(4)
##
##def TryExceptMultiFinally():
## try:
## print(1)
## except a:
## print(2)
## except b:
## print(3)
## finally:
## print(4)
## print(5)
##
## Broken
##def TryExceptMultiFallbackFinally():
## try:
## print(1)
## except a:
## print(2)
## except:
## print(3)
## finally:
## print(4)
## print(5)
def TryExceptMultiNamedFinally():
try:
print(1)
except A as a:
print(2)
except B as b:
print(3)
finally:
print(4)
print(5)
def TryExceptMultiNamedFallbackFinally():
try:
print(1)
except A as a:
print(2)
except:
print(3)
finally:
print(4)
print(5)
def TryExceptMultiNamedAndUnnamedFinally():
try:
print(1)
except A as a:
print(2)
except b:
print(3)
except:
print(4)
finally:
print(5)
print(6)
def TryExceptElseFinallyBare():
try:
print(1)
except:
print(2)
else:
print(3)
finally:
print(4)
print(5)
def TryExceptBareNested():
try:
print(1)
except:
print(2)
try:
print(3)
except:
print(4)
def TryExceptReturn():
try:
print(1)
return 2
except:
print(2)
# Not currently working, see https://github.com/syssec-utd/pylingual/issues/24#issuecomment-3005215427
def TryExceptRaise():
try:
print(1)
except:
print(2)
raise Exc
def TryExceptRaiseNamed():
try:
print(1)
except A as a:
print(2)
raise Exc
### Expected to fail on 3.10- has the same issue as TryExceptFinally
def TryExceptBareNestedNamed():
try:
print(1)
except A as a:
print(2)
try:
print(3)
except:
print(4)
def TryExceptReturnNamed():
try:
print(1)
return 2
except A as a:
print(2)
def TryExceptBareNestedMulti():
try:
print(1)
except a:
print(2)
try:
print(3)
except:
print(4)
except b:
print(5)
try:
print(6)
except:
print(7)
def TryExceptReturnMulti():
try:
print(1)
return 2
except a:
print(2)
except b:
print(3)
def TryExceptRaiseMulti():
try:
print(1)
except a:
print(2)
raise Exc
except b:
print(3)
raise Exc