Можно ли делать исключения на не английском?

Рейтинг: 2Ответов: 1Опубликовано: 01.05.2023

Можно ли использовать не английские сообщения для исключений, причин и вообще любых полях, кроме комментариев, в каком-то относительно большом и многогранном проекте?

Насколько хорошо/плохо (с точки зрения культуры) написать raise ValueError('n должно быть целым')
вместо raise ValueError('n must be integer')?

С точки зрения культуры и т.д. Допустим, что этот условный проект не интернациональный, программируют преимущественно русские люди

Ответы

▲ 7

То что написано в скобках - это всего лишь текст. Он должен быть понятен тому кто его увидит. А увидеть его должны только если исключение не обработано - сервис или программа упали. В некоторых случаях не очень удобно когда падает в системе где не настроен русский шрифт.

Приведу примеры: gcc и postgresql показывают исключения на русском языке. И это не очень удобно "гуглить", но если ошибка знакома - то понять её проще.

psql

postgres=# select * from ;
ОШИБКА:  ошибка синтаксиса (примерное положение: ";")
СТРОКА 1: select * from ;
                        ^

и gcc

/usr/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../lib/Scrt1.o: в функции «_start»:
(.text+0x1b): неопределённая ссылка на «main»
collect2: ошибка: выполнение ld завершилось с кодом возврата 1

А ещё можно переменные называть кириллицей, но не нужно. Старшие ругаться будут.

>>> ы=1
>>> ы
1