def greeting(user_id):
"""Parent func"""
try:
user_name = get_user_name(user_id)
except User.DoesNotExists as e:
logger.error("[greeting] user: {user_id} not found.")
return None
print(f"Hello, {user_name}")
def get_user_name(user_id):
"""Child func"""
user = User.get(user_id)
return user.name
- スタックトレース出しまくるとエラーログが見づらくなるを防げる
- どのデータでエラーが起きているのかのヒントが得られる
- その関数でどんな例外が起こり得るのかが第三者の改修担当から見ても読み取れる
requests の exceptions.py を参考に見てみる。
https://github.com/requests/requests/blob/75bdc998e2d430a35d869b2abf1779bd0d34890e/requests/exceptions.py
https://github.com/requests/requests/blob/75bdc998e2d430a35d869b2abf1779bd0d34890e/requests/adapters.py#L414