- 把更精确的except语句放在前面
- 使用else分支:仅当try语句块里没有跑出任何异常时,才执行ele分支下的内容;
- 使用空raise语句
def safe_int(value):
"""尝试把输入转换为整数"""
try:
retrn int(value)
except TypeError:
print(f'type error {type(value)} is invalid')
except ValueError:
print(f'value error: {value} is invalid')
finally:
# finally 里的语句,无论如何都会被执行,哪怕已经执行了return
print('function completed')
def sync_profile():
try:
sync_profile(user.profile, to_external=True)
except Exception as e:
print("Error while syncing user profile")
else:
send_notification(user, 'profile sync succeed')