Обычно я использую обработку исключений, чтобы изящно выбрасывать исключение и обрабатывать его без сбоя приложения.Обработка ошибок, утверждений или обработки исключений
Я унаследовал некоторый код, который использует утверждения повсюду, и приложение сильно отлаживается при отладке, каждый раз, когда утверждения терпят неудачу, с ошибкой assertionfailed.
Много раз эти утверждения проверяют, что что-то не является нулевым, а если оно равно null, он сбой при завершении утверждения.
Это кажется совершенно контрпродуктивным по сравнению с выполнением if(var!=null)
, но я что-то упускаю? Я пропустил что-то новое в этой парадигме кода?
Мое текущее утверждение, что все assert
вызовы должны быть прокомментированы, и любые ошибки, проблемы должны проверить нулевые переменные вместо
Я написал это в надежде есть фактический ответ на этот вопрос, спасибо!
Утверждения используются, когда вы уверены, что некоторые условия в редких случаях происходят в производственной среде. поэтому «нулевая» проверка является наихудшим ее использованием. – Ankit