Chào cả nhà,
Mình đang học thêm về python3, trước đây mình hay để try-catch ở mọi hàm. Gần đây mình tìm thêm được một cách là tạo một decorater:
def catch_exception(f):
def wrapper(*args, **kwargs):
status_code = 200
try:
data = f(*args, **kwargs)
except Exception as e:
raise e
return data, status_code
return wrapper
Cái này chạy rất tốt, nhưng mình muốn thêm 1 messeage khi sảy ra lỗi để có thêm thông tin. Ví dụ là
except Exception as e:
# print(f"Đã sảy ra lỗi khi {action}: {str(e)}")
raise e
Trong đó action là tên hàm hoặc mô tả của hàm. Mình đang mò cách mà chưa biết mần sao lên đây xin được mọi người chỉ giáo. Mình mong muốn trong mỗi bằng một cách nào đó, action mình sẽ define ở mỗi function (trong document chẳng hạn) để thằng catch_exception có để đọc và in ra một cách tự động. Ví dụ như là:
@catch_exception
def div_function(a,b):
''' Hàm chia '''
return a/b
Nếu có lỗi sảy ra thì mình mong muốn nhận được thông báo là:
Đã có lỗi sảy ra tại Hàm chia: float division by zero
Chân thành cảm ơn cả nhà.
P/s: nếu có suggest gì mình xin tiếp thu để cải thiện.