Лучшие практики в обработке исключений Java - PullRequest
5 голосов
/ 18 октября 2011

Я начинаю изучать Java и пишу свои первые вспомогательные классы на Java, которые должны быть запущены в производство.Я немного растерялся, когда дело касается исключений.Есть ли приблизительный показатель того, сколько операторов try содержится в заданных строках кода?

Какая часть кода должна иметь дело с исключениями ... какой-нибудь плагин для Eclipse?

Лучше всего включать 3-4 оператора в блок try и перехватывать исключение или включать 10-12 строк в блок try, а затем включать 2-3 оператора catch, перехватывающих различные типы исключений, например, те, которые выдают с помощью File или моих собственных классов.или какие-то другие сторонние классы ..?Первое немного неприятно для глаз, и это настолько вздутый код ..

Это обычная практика, чтобы только и только окружать этот код в блоке try, который может генерировать исключение, или можно пометить окружающий код какхорошо внутри попробуйте сказать, как используется дескриптор файла и т.д ..

Любые указатели ..?

Ответы [ 3 ]

2 голосов
/ 18 октября 2011

"Лучше всего включать 3-4 оператора в блок try и перехватывать исключение или ..."

Я думаю, что сначала вам нужно прояснить вопрос об исключениях.

try {
    ...some code that throws exceptions
} catch (Exception ex){
    ex.printStacktrace();
}

Выше приведен фрагмент обработки исключения.При обработке исключений мы сохраняем код, который может генерировать исключение, в блоке try{}, и если statemnet в блоке try генерирует исключение, оно будет перехвачено блоком catch{}.

Независимо от того, нужно или нетоператор include 3-4 в блоке try и в исключении catch. .. не определяется правилами.Это зависит от вашей логики и требований программы.


Следующая ссылка поможет вам выяснить ОСНОВЫ о Java Exceptions : http://marakana.com/bookshelf/java_fundamentals_tutorial/exceptions.html

Для рекомендаций Об исключениях Java, следоватьследующие статьи и QA.

Лучшие практики для управления исключениями в Java или C #

http://www.wikijava.org/wiki/10_best_practices_with_Exceptions

1 голос
/ 18 октября 2011

Посмотрите этот след из учебника по Java: http://download.oracle.com/javase/tutorial/essential/exceptions/index.html (обратите внимание, что это для Java 7).

Наилучшие методы обработки исключений не могут быть выражены в терминах пропорций кода.Сначала изучите важную разницу между ошибками, исключениями и исключениями времени выполнения.Ошибки и исключения являются двумя отдельными ветвями иерархии Throwable .Исключения во время выполнения - это особые типы исключений, которые не требуют объявления, поскольку они не должны обрабатываться обычным кодом.Как только вы поймете, что каждый из них делает, у вас все в порядке.

Имейте в виду, что обработка исключений - это не только лучшие практики и здравый смысл, но также в некоторой степени под влиянием стиля и мнения.Некоторые люди любят рано ловить исключения, что приводит к большому количеству блоков try-catch в коде.Другим нравится окружать большее количество строк попыткой.

Если вы можете использовать JDK 7 вместо старой версии Java, изучите конструкцию try-with-resources и механизм multi-catchи то, и другое поможет сделать обработку исключений более элегантной и уменьшить раздувание кода.

0 голосов
/ 18 октября 2011

Я бы не стал считать строки.

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

Поместите один блок try / catch в один метод.

Ошибка новичка (я думаю) состоит в том, чтобы создать тонны отдельных блоков try catch, почти до точки один на строку. Обычно вам нужен только один большой, который включает в себя единицу работы, которую вы пытаетесь выполнить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...