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 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Апрель 2024 (1)
Октябрь 2018 (14)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)

Карта сайта: 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

Друзья сайта



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

Bjarne Stroustrup:

"Я всегда мечтал о том, чтобы моим компьютером можно было пользоваться так же легко, как телефоном; моя мечта сбылась: я уже не могу разобраться, как пользоваться моим телефоном."

Опрос

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

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