Exception handler p- added exceptions for JFJOCH, Aerotech and AareDB communication errors
This commit is contained in:
1 parent
af4cd798d4
commit
0225bb1e3b
1 file changed
+101
@@ -195,5 +195,106 @@ class TellCommunicationError(Exception):
|
||||
},
|
||||
)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.message
|
||||
|
||||
class JFJochCommunicationError(Exception):
|
||||
"""
|
||||
Raised when JFJoch HTTP/API communication fails.
|
||||
Intended for scan-time fallbacks and GUI-visible alerts.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
message: str = "JFJoch communication error",
|
||||
*,
|
||||
operation: str | None = None,
|
||||
endpoint: str | None = None,
|
||||
base_url: str | None = None,
|
||||
status_code: int | None = None,
|
||||
):
|
||||
super().__init__(message)
|
||||
self.message = message
|
||||
self.operation = operation
|
||||
self.endpoint = endpoint
|
||||
self.base_url = base_url
|
||||
self.status_code = status_code
|
||||
logger.error(
|
||||
message,
|
||||
extra={
|
||||
"device": "jfjjoch",
|
||||
"operation": operation,
|
||||
"endpoint": endpoint,
|
||||
"base_url": base_url,
|
||||
"status_code": status_code,
|
||||
},
|
||||
)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.message
|
||||
|
||||
class AareDBCommunicationError(Exception):
|
||||
"""Raised when AareDB HTTPS communication fails."""
|
||||
def __init__(
|
||||
self,
|
||||
message: str = "AareDB communication error",
|
||||
*,
|
||||
operation: str | None = None,
|
||||
endpoint: str | None = None,
|
||||
base_url: str | None = None,
|
||||
status_code: int | None = None,
|
||||
):
|
||||
super().__init__(message)
|
||||
self.message = message
|
||||
self.operation = operation
|
||||
self.endpoint = endpoint
|
||||
self.base_url = base_url
|
||||
self.status_code = status_code
|
||||
logger.error(
|
||||
message,
|
||||
extra={
|
||||
"device": "aaredb",
|
||||
"operation": operation,
|
||||
"endpoint": endpoint,
|
||||
"base_url": base_url,
|
||||
"status_code": status_code,
|
||||
},
|
||||
)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.message
|
||||
|
||||
class AerotechCommunicationError(Exception):
|
||||
"""
|
||||
Raised when Aerotech HTTP/API communication fails (connection refused, timeout, bad HTTP status, etc).
|
||||
Keep the original exception in `__cause__` by using `raise ... from e`.
|
||||
"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
message: str = "Aerotech communication error",
|
||||
*,
|
||||
endpoint: str | None = None,
|
||||
base_url: str | None = None,
|
||||
operation: str | None = None,
|
||||
status_code: int | None = None,
|
||||
):
|
||||
super().__init__(message)
|
||||
self.message = message
|
||||
self.endpoint = endpoint
|
||||
self.base_url = base_url
|
||||
self.operation = operation
|
||||
self.status_code = status_code
|
||||
logger.error(
|
||||
message,
|
||||
extra={
|
||||
"device": "aerotech",
|
||||
"operation": operation,
|
||||
"endpoint": endpoint,
|
||||
"base_url": base_url,
|
||||
"status_code": status_code,
|
||||
},
|
||||
)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.message
|
||||
Reference in new issue
Block a user