swag-shop/backend/app/utils/database_exception_catcher.py

14 lines
402 B
Python

from functools import wraps
from sqlalchemy.exc import DatabaseError as SqlAlchemyDatabaseError
from app.database.exceptions import DatabaseError
def handle_database_errors(func):
@wraps(func)
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except SqlAlchemyDatabaseError as e:
raise DatabaseError(str(e), -1) from e
return wrapper