WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Архив » Как обработать исключение внутри метода, но при этом не прирывать обработку и вызовы других методов?

Как обработать исключение внутри метода, но при этом не прирывать обработку и вызовы других методов?


Дата публикации: 17-03-2013

Предложение от Vivek Pabby

Следующий кусок кода должен помочь:

// This is the calling method

public void yourCallingMethod()
{

// some code ........

try {
yourCalledMethod();
}
// This catch will catch the thrown exception from the called method

catch (IOException e1) {
showStatus("Caught thrown Exception : " + e1.getMessage() );
}
}

public void yourCalledMethod()
{
//
// The following try/catch block will catch IOException and throw it again
//
try {
DataInputStream din = new DataInputStream(
new BufferedInputStream(socket.getInputStream()));
DataOutputStream dout = new DataOutputStream(
new BufferedOutputStream(socket.getOutputStream()));
}
catch(IOException e) {
showStatus("Exception caught: " + e.getMessage() );
//
// By throwing the exceptiuon again, you can have the calling method catch it.
//
throw e;
}
}


2. Как определить границы исключений, которые защитят весь код?

Предложение от Vivek Pabby

Любой код в блоке try-catch передаст ичключение этому блоку. Если вы поместите весь ваш код в главный блок try-catch вы можете перехватить любое непойманное исключение от этого кода, вот пример:


try {
// put all your code here
// this code can also have its own try-catch blocks
// making it a nested try-catch situation
try {
// more code .......
} catch (anyExceptionYouLike e) {}
// more code.......
}
// This catch will catch any exceptions in all your blocked code which are not
// caught by any inner try-catch blocks
catch (ArrayIndexOutOfBounds ex) {
showStatus("Exception : " + ex.getMessage() );
}
catch (IOException e1) {
showStatus("Exception : " + e1.getMessage() );
} catch (Exception e2) { }
}
Вы так же можете создавать свои собственные исключения с определенными сообщениями и обрабатывать и ловить их .
Домен продается

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Июль 2025 (1)
Август 2024 (1)
Май 2024 (1)
Апрель 2024 (1)
Октябрь 2018 (14)
Февраль 2017 (3)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта



Случайная цитата

Неизвестный автор:

"Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять."

Опрос

Какой аудио плеер Вы используете?

Winamp
Light Alloy
foobar2000
Apollo
AIMP
1by1
iTunes
jetAudio
Другой...