zHz00 Untitled

четверг, 05 сентября 2024
06:13 Невнятные сообщения об ошибках
Примеров таких ошибок я приводил множество, но недавно до меня дошло, что это системная проблема, и даже появилось подозрение, с чем это связано.

Впервые я встретился с описанием такой ошибки в знаменитой книжке П. Нортона Programmer's Guide to the IBM PC. В русском переводе она имела пространное название "Персональный компьютер фирмы IBM и операционная система MS-DOS". В одной из таблиц с кодами ошибок была следующая запись:

(номер кода ошибки): "Неверный формат (а чего, не говорится)".

Книжку читал я в детстве, не имея на руках ещё никакого компьютера. Меня тогда это насмешило.

Сейчас-то мне не очень смешно!

Так вот, кода ошибки недостаточно для понимания происходящего. Часто нужно указание на имя файла, на какое-то конкретное число и т.п.

Механизм кода ошибок по своей сути не предназначен для передачи дополнительной информации. Чтобы такую информацию передать, надо создавать отдельную систему, причём способную хранить значения произвольного типа.

Казалось бы, у нас есть более современный механизм: исключения. Когда возбуждается исключение, можно сделать целый об'ект и засунуть в него всё что пожелаешь. А если об'ект наследован от какого-нибудь базового CException, то там наверняка есть какой-нибудь GetAsStr(), куда можно всё записать.

И тем не менее, невнятные сообщения об отсутствующих файлах (а каких, не говорится) я получаю даже в питоне.

Что делать? Писать логи. В момент передачи кода ошибки/исключения программа точно знает, что пошло не так. Пусть выводит сообщение с контекстом ещё до того, как вернуть код ошибки/возбудить исключение. Пока ещё всё известно.

@темы: Программирование, Говнокод

URL
...репетировал нейронный ансамбль. Ещё одна фантастическа...
:wow: :wow: :wow: YESSSS!!! Они сделали!!! Ето надо ...
Ох, тяжко тут людям в глаза смотреть после того, как наши...
Сетка мертвая... Посему смотрел кино. На ДВД. Дывыс...
Тихий зимний вечер. На улице медленно падали искрящиеся п...
День, когда не решена ни одна из задач, работающих на дол...

05.09.2024 в 07:23

05.09.2024 в 07:23
Failed to start because of the following error: The operation completed successfully.

Классика :)
URL

05.09.2024 в 09:50

05.09.2024 в 09:50
Hikedaya, тут другая причина. Обычно на отсутствие ошибки ставится код 0. Дальше срабатывает ветка обработки, но там код ошибки куда-то пропадает и в поле оказывается 0. Что и вызывает такое сообщение.
URL

05.09.2024 в 13:48

05.09.2024 в 13:48
zHz00, причина другая, но результат тот же - конечный пользователь с охеревшим лицом лица.
URL
Добавить комментарий

Расширенная форма

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail