2015-03-12 5 views
0

В моем коде я окружаю экземпляры объектов в блоке catch try, потому что они вызывают ошибку, я создаю много объектов, поэтому мой код выглядит очень грязным. Мне было интересно, можно ли исключить исключение из моего основного класса или это плохая практика?Выбрасывание исключения из основного класса?

+4

Не могли бы вы включить свой код здесь, для справки? –

+2

Что будет обрабатывать исключение, созданное вашим основным методом? –

+0

Если это что-то маленькое, это, вероятно, все в порядке. Если это, например, более активно связано с несколькими входами пользователя, вы можете обращаться по-разному. – ControlAltDel

ответ

4

Это нормально, чтобы исключить исключения из вашей точки входа (в данном случае, ваш метод main), если вы не можете придумать определенную причину не («пользователь не должен этого видеть», «было бы лучше если бы я попытался восстановиться, а не выйти »).

Если вы можете обрабатывать исключения там, где они есть, вы должны сделать это. Например, вы можете зарегистрировать их, повторно бросить их как более понятные исключения (например, исключения проверки) или отказаться от метода, вернув null. Если нет смысла обрабатывать их, то нет.

Возможно, вам нужна более удобная группировка подобных исключений. Вы можете переместить весь свой код, находящийся внутри этих блоков try-catch, в частный метод (возможно, init), который выдает все соответствующие исключения. Затем вызовите init из метода main и заверните, что init вызовите блок try-catch, который перехватывает все эти исключения.

+2

«Пользователь не должен видеть это» Это заставило меня удалить мой ответ. Я лично считаю, что исключения должны регистрироваться, а не отображаться пользователю. Во всяком случае, пользователю должно быть предоставлено сообщение об ошибке, а не полная трассировка стека, сообщая пользователю, что они должны представить свои «отчеты об ошибках». +1 –

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