Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Stalin45
23 / 2 / 5
Регистрация: 24.04.2011
Сообщений: 66
#1

Двойная обработка ошибок - Java SE

19.08.2013, 16:35. Просмотров 409. Ответов 6
Метки нет (Все метки)

Здравствуйте!
У меня метод пробрасывает несколько исключений.
Как сделать так, чтобы после выбрасывания исключения, это исключение обрабатывалось как в этом методе, так и в методе, вызвавшем его?

P.S.
Этот метод - переопределенный void из интерфейса, так что возвращать строку с ошибкой нельзя.
Обрабатывать только внутри метода - недостаточно, вызвавший метод должен точно знать, что за ошибка была.
Обрабатывать только вне метода тоже недостаточно, поскольку мне необходимо из-за ошибки закрыть
соединение, созданное внутри этого метода. А соединение не статичное / не может быть передано как аргумент (опять же, метод интерфейса...)
Что делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2013, 16:35
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Двойная обработка ошибок (Java SE):

Обработка ошибок
работаю в NetBeans'e есть,код,нужно написать обработку ошибок для...

Двойная отправка сообщения
Доброго времени суток! Использую вот эту библиотечку Для доступа к скайпу, и...

Двойная сортировка массива объектов
Добрый день, я в java новичок, возник следующий вопрос. Каким образом лучше...

Обработка ошибок
В базе Access я поставила ограничение на поля-обязательность для заполнения,...

Обработка ошибок
void error(string s1, string s2) { throw runtime_error(s1 + s2); } int...

Обработка ошибок
Необходимо проверить поля TextBox-а на пустоту. Вопрос банален: как написать...

6
turbanoff
Эксперт Java
4008 / 3743 / 739
Регистрация: 18.05.2010
Сообщений: 9,323
Записей в блоге: 11
Завершенные тесты: 1
19.08.2013, 17:28 #2
Ловить, обрабатывать и бросать дальше
2
Stalin45
23 / 2 / 5
Регистрация: 24.04.2011
Сообщений: 66
19.08.2013, 17:35  [ТС] #3
Хах, здорово! Все работает))
Не ожидал, что такой синтаксис сработает
Спасибо большое, turbanoff!
0
Skipy
1996 / 1419 / 91
Регистрация: 25.11.2010
Сообщений: 3,611
19.08.2013, 17:36 #4
Цитата Сообщение от turbanoff Посмотреть сообщение
Ловить, обрабатывать и бросать дальше
Если надо только закрывать выделенные локально ресурсы, то подойдет блок try/finally. Ресурсы надо по любому закрывать, вот и помещаем этот код в finally. Выполнится всегда, вне зависимости от того, было ли выброшено исключение или нет.

Подводный камень - необработанное исключение в блоке finally перебьет исходное, т.е. тут надо обрабатывать всё.
1
Stalin45
23 / 2 / 5
Регистрация: 24.04.2011
Сообщений: 66
19.08.2013, 18:03  [ТС] #5
Спасибо, это я понимаю.

P.S. вот, как оформил:
Java
1
2
3
4
5
6
7
8
9
try{
   ...
} 
catch (SQLException ex) {
   throw ex;
}
finally {
   //Обработка
}
0
Skipy
1996 / 1419 / 91
Регистрация: 25.11.2010
Сообщений: 3,611
20.08.2013, 10:23 #6
Цитата Сообщение от Stalin45 Посмотреть сообщение
P.S. вот, как оформил:
Java
1
2
3
4
5
6
7
8
9
try{
   ...
} 
catch (SQLException ex) {
   throw ex;
}
finally {
   //Обработка
}
Можно без блока catch. finally выполнится всегда, а исключение, если возникнет, будет выброшено выше.
1
Stalin45
23 / 2 / 5
Регистрация: 24.04.2011
Сообщений: 66
20.08.2013, 10:33  [ТС] #7
Цитата Сообщение от Skipy Посмотреть сообщение
Можно без блока catch. finally выполнится всегда, а исключение, если возникнет, будет выброшено выше.
Просто так нагляднее
0
20.08.2013, 10:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2013, 10:33
Привет! Вот еще темы с решениями:

обработка ошибок
Привет! Я реализовываю вывод сообщений пользователю через ajax, и никак не...

Обработка ошибок!
Где можна взять номера ошибок в лотус скрипт? и еще вопросик: пытаюсь...

Обработка ошибок
Доброго времени суток ! Суть проста: нажимаю на менюшку, она должна загрузить...

Обработка ошибок
Не подскажите, где можно найти материал на эту тему..


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru