Может кто-нибудь привести хороший справочник по программированию с исключениями? - PullRequest
1 голос
/ 01 октября 2010

Я предпочитаю иметь стиль возврата кода ошибки "rc" для управления ошибками.Я согласен, что это создает проблемы, которые лучше справляются с броском, однако я все еще чувствую, что я не проектирую и не реализую в стиле, который является чистым и ремонтопригодным.Итак, я ищу хорошую книгу, в которой обсуждается закономерность, а не просто справочник.

Библиография ссылок тоже подойдет ...

Выдержка из ответа ниже, «Практика гибкого программиста», что мне показалось особенно поразительным:

**Keeping Your Balance**

• Determining who is responsible for handling an exception is part of design.
• Not all situations are exceptional.
• Report an exception that has meaning in the context of this code. A NullPointerException is pretty but just as useless as the null object described earlier.
• If the code writes a running debug log, issue a log message when an exception is caught or thrown; this will make tracking them down much easier.
• Checked exceptions can be onerous to work with. No one wants to call a method that throws thirty-one different checked exceptions. That’s a design error: fix it, don’t patch over it.
• Propagate what you can’t handle.

Ответы [ 2 ]

2 голосов
/ 04 октября 2010

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

Как учебник для начинающих и для подхода, независимого от языка, см. [Martin, Ch.7] . [McConnel, Ch.8.4] также имеет дело с обработкой исключений на очень общей основе.Дополнительные советы по использованию исключений см. [Subramaniam, Hunt, Ch.36, 37] .Я также нашел [Рихтер, гл.20] очень полезно, хотя это специфично для .NET и C #.Тем не менее, некоторые разделы применимы и к другим языкам.

Рекомендация: В качестве альтернативного подхода к выбрасыванию исключений и стилю программирования, возвращающему код ошибки, проведите некоторое исследование на предмет «Special Case Pattern» или «Null Object Pattern».в WWW.

  • [Martin] Martin, CR (2008).Чистый код: руководство по гибкому программному обеспечению.Prentice Hall International.
  • [McConnel] McConnel, S. (2004).Код завершен.
  • [Subramaniam, Hunt] Subramaniam, V. & Hunt, A. (2006).Практики гибкого разработчика.Прагматичные программисты.
  • [Рихтер] Рихтер, Дж. (2010).CLR через C #.Microsoft Press.
0 голосов
/ 04 октября 2010

Я не знаю ни одной книги, посвященной лучшим методам создания и использования исключений.Это может быть слишком конкретная тема, чтобы оправдать всю книгу.Кроме того, передовые практики, вероятно, будут значительно различаться для каждого языка программирования (C ++ и Java), а также контекстов программирования в языке (winforforms C # против C # asp.net).

Я подозреваю, что вы лучше всехСпорим, это Google;вы, вероятно, найдете несколько постов в блоге, посвященных этой теме (надеюсь, лучшие / наиболее уважаемые из них будут рядом с результатами Google).

...