File size: 875 Bytes
74de430
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
"""
Custom Exception Classes
"""


class AppException(Exception):
    """Base application exception"""
    def __init__(self, message: str, code: str = None):
        self.message = message
        self.code = code
        super().__init__(self.message)


class NotFoundException(AppException):
    """Resource not found"""
    pass


class BusinessRuleException(AppException):
    """Business rule violation"""
    pass


class ValidationException(AppException):
    """Data validation error"""
    pass


class AuthenticationException(AppException):
    """Authentication failure"""
    pass


class AuthorizationException(AppException):
    """Authorization failure"""
    pass


class ConcurrentUpdateError(AppException):
    """Optimistic locking conflict"""
    pass


class ExternalServiceException(AppException):
    """External service integration error"""
    pass