Кажется, вам не нужно отображение «сообщение об ошибке» -> «код ошибки».Вы можете создать класс исключений, который содержит код ошибки и сообщение.Это позволит в будущем локализовать сообщения, не нарушая код.
Например, OSError
имеет атрибуты errno
, strerror
, которые содержат код ошибки и сообщение соответственно.
Для более удобного отслеживания ошибок вы можете создать подклассы для часто используемых кодов ошибок, например, OSError
имеет подклассы, такие как PermissionError
, FileNotFoundError
:
try:
open(somefile)
except FileNotFoundError:
# handle file not found error
except PermissionError:
# handle permission problem
Python является динамическимязык, поэтому легко генерировать классы исключений программно из любого текущего представления, которое вы используете для кодов ошибок, сообщений.