有些文法錯誤是捕獲不到異常的
try:
# num = int(input('請輸入數字:'))
num = 3
if num % 2 == 0 and num % 3 == 0:
print('2,3的倍數')
# 待捕獲處
elif num %2 = 0:
print('2的倍數')
elif num % 3 == 0:
print('3的倍數')
else:
print('其他')
except SyntaxError as e:
print("錯誤資訊:", e)
結果:
這樣是無法捕獲到第7行中的那個指派符号的, 因為這是在代碼運作之前就存在的異常, 是不能通過普通的代碼來捕獲的
try:
# num = int(input('請輸入數字:'))
num = 3
if num % 2 == 0 and num % 3 == 0:
print('2,3的倍數')
# 待捕獲處
elif eval("num %2 = 0"):
print('2的倍數')
elif num % 3 == 0:
print('3的倍數')
else:
print('其他')
except SyntaxError as e:
print("錯誤資訊:", e)