2013-09-05 6 views
1

Я программировал с другим партнером на своей новой работе, и я смотрел, как он кодирует новый метод. Этот метод получил объект, и он не проверял достоверность параметра (! = Null и т. Д.) , когда я спросил его, почему? - он ответил, что его предназначение - «если по какой-то плохой причине существует нулевой параметр объекта (и он не должен), я хочу, чтобы он терпел неудачу и не проглатывал ошибку».Исключения и проверка действительности релевантности

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

+0

По-моему, это зависит от того, для чего предназначен метод. Внутренние подпрограммы для меня довольно хрупкие и легко ломаются, а затем оставляют обработку ошибок вызывающему коду; подпрограммы, видимые снаружи, более надежны и выполняют всю проверку параметров. – dwarduk

ответ

0

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

Или вы можете проверить это дело и предоставить хорошее сообщение об исключении.

Учитывая следующий метод подписи:

public void DoStuff(MyObj obj); 

"DoStuff требуется экземпляр MyObj функционировать"

намного лучше, чем

«Ссылка на объект не указан к экземпляру объекта "

Смежные вопросы