Скажите, что у меня есть метод, который существует в библиотеке/фреймворке, я хочу знать, должны ли методы бросать исключения или сбой молча; например:Рамочный код: Исключить молчание или исключить исключения
void PerformAction(Item item)
{
// throws NullReferenceException if item is null
item.DoThis();
}
void PerformAction(Item item)
{
//fails silently
if(item != null)
{
item.DoThis();
}
}
Какое решение лучше - или это немного субъективный вопрос?
Это было бы очень субъективно, хотя я считаю, что большинство голосов скажут, что вы должны в основном «бросать». По крайней мере, для целей отладки. Если в структуре есть механизм ведения журнала, вы должны зарегистрировать неудачную задачу, если вы не хотите бросать ее. –