Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

Пустой блок catch

#c_sharp


Здраствуйте! Так как я студент, и студент такой себе, то я не знаю, можна ли оставлять
блок catch пустым? Мне просто-напросто надо, чтобы в случае возникновения Exception`а
ничего не делалось, а просто продолжалась работа программы. Меня интересует, есть ли
какие-то правила или нормы, которые такого не разрешают?
    


Ответы

Ответ 1



На уровне языка — можно, точно так же как и пустой цикл while. Программа откомпилируется и не будет ворчать во время выполнения. Но с точки зрения хорошего дизайна, игнорировать исключения нужно довольно редко. Если вы игнорируете исключения, никто (в том числе и вы) не узнает, что что-то в программе идёт не по плану. Обычно в случае, если произошло исключение, вам должно захотеться известить об этом как-нибудь вышестоящую логику программы, чтобы она не тыкалась в это место постоянно. Если вам действительно хочется подавить исключение, хотя бы залогируйте проблему. Ну и во взрослых проектах имеет смысл оставить комментарий для других разработчиков, объясняющий, почему вы можете/должны проигнорировать исключение в этом месте.

Ответ 2



Пустые блоки catch ничем не запрещены. Можете смело использовать их, но учтите, что при возникновении exception в коде блока try, выполнение закончится на этом месте и перейдет в catch. В таком случае какой-то код в try может остаться невыполненным, поэтому будьте осторожны.

Комментариев нет:

Отправить комментарий