Здравствуйте.
Решил глянуть нутрянку CodeJam и обнаружил в пространстве имен IO метод, вызываемый при удалении объекта, содержащий такой вот код:
try
{
File.Delete(path);
}
catch (ArgumentException) { }
catch (IOException) { }
catch (UnauthorizedAccessException) { }
В моем сознании всегда было заложено: "не надо прятать исключения, потом боком выйдет". Поэтому , если мне приходилось их прятать, то обязательно с логом и в тех случаях, где не принесет никаких последствий.
С таким кодом, я так понимаю, возможен случай создания большой кучи временных файлов и не удаления по какой то причине, т.е. потенциально на диске может остаться гора мусора. В случае не скрытого исключения обнаружить эту ситуацию можно будет уровнем выше.
Но, CodeJam пишут у нас уважаемые люди с проведением кодревью, значит вероятность ошибок низка. Где у меня ошибка в рассуждениях?