LINUX.ORG.RU

Обработка ошибок и логирование


0

1

Интересует стандартные решения и правильные подходы при обработке ошибок программами
(передача кода ошибки при выходе из подпрограммы, обработчики ошибок и т.п.)
и логирование в программе.

Что можно посмотреть как пример правильной реализации?

★★★★★
Ответ на: комментарий от Deleted

ИМХО не надо злоупотреблять исключениями. Я кидаю исключения только перед экстренным завершением программы.

pathfinder ★★★★
()
Ответ на: комментарий от Deleted

Не всегда неверный результат есть исключение. // Ушел читать статью

Zodd ★★★★★
() автор топика
Ответ на: комментарий от pathfinder

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

а) в веб приложении у тебя как ни крути больше времени будет тратится на походы в кеш и уж тем более базу.

б) их медлительность чувствуется только при количестве «многатыщ или мульенов»

вот пример

$ python -m 'timeit' -s 'd=dict(zip(range(1000), range(1000)))' $'1999 in d and d[1999]'10000000 loops, best of 3: 0.0523 usec per loop

$ python -m 'timeit' -s 'd=dict(zip(range(1000), range(1000)))' $'try: d[1999]\nexcept KeyError: pass' 1000000 loops, best of 3: 0.854 usec per loop

в остальном... кто-нибудь, приведите хотя бы одну причину, которая бы четким образом обозначала отрицательное влияние исключения, м?

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

Deleted
()
Ответ на: комментарий от Deleted

>я местами исключениями логику выкладываю. весьма читабельно получается. на счет производительности - вопрос спорный.

В языках, где изначально используются исключения в родном API, смысла нет. Там все равно будут исключения, как ни крути.

А в плюсах для некоторых может быть полной неожиданностью прерывание выполнения функции. Ещё там нет блока finally. Исключения вынуждают в каждом месте, где есть выделение/освобождение ресурсов делать блок try/catch с освобождением ресурсов и последующим перевызовом исключения, даже если тебе реакция на исключение в данном месте не нужна.

pathfinder ★★★★
()
Ответ на: комментарий от pathfinder

поймал себя на мысли, что предрасположенность к использованию исключений ни что иное как латентная goto-филия :)

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.