forked from s_ranjbar/city_retrofit
40 lines
973 B
Python
40 lines
973 B
Python
"""
|
|
Exceptions for pyproj
|
|
"""
|
|
|
|
|
|
class ProjError(RuntimeError):
|
|
"""Raised when a Proj error occurs."""
|
|
|
|
internal_proj_error = None
|
|
|
|
def __init__(self, error_message: str) -> None:
|
|
if self.internal_proj_error is not None:
|
|
error_message = (
|
|
"{error_message}: (Internal Proj Error: {internal_proj_error})"
|
|
).format(
|
|
error_message=error_message,
|
|
internal_proj_error=self.internal_proj_error,
|
|
)
|
|
ProjError.clear()
|
|
super().__init__(error_message)
|
|
|
|
@staticmethod
|
|
def clear() -> None:
|
|
"""
|
|
This will clear the internal PROJ erro message.
|
|
"""
|
|
ProjError.internal_proj_error = None
|
|
|
|
|
|
class CRSError(ProjError):
|
|
"""Raised when a CRS error occurs."""
|
|
|
|
|
|
class GeodError(RuntimeError):
|
|
"""Raised when a Geod error occurs."""
|
|
|
|
|
|
class DataDirError(RuntimeError):
|
|
"""Raised when a the data directory was not found."""
|