Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Исключение брошенное в блоке catch / 7 сообщений из 7, страница 1 из 1
17.12.2018, 23:17
    #39749188
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение брошенное в блоке catch
Всем привет!

Кто может объяснить принцип действия, когда выбрасывается исключение в блоке catch? Почему блок finally не последний?
Код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public static void main(String[] args) throws Exception{
    try {
        throw new Exception("Excepption in Try block");
    } catch (Exception e) {
        System.out.println(e.getMessage());
        throw new Exception("Excepption in Catch block");
    } finally {
        System.out.println("Finally block");
    }
}



Вывод:
авторExcepption in Try block
Finally block
Exception in thread "main" java.lang.Exception: Excepption in Catch block
at Main.main(Main.java:8)

Process finished with exit code 1
...
Рейтинг: 0 / 0
18.12.2018, 00:36
    #39749199
andreykaT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение брошенное в блоке catch
Так классика же. Файналли отрабатывает всегда.
...
Рейтинг: 0 / 0
18.12.2018, 01:09
    #39749206
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение брошенное в блоке catch
Molasar,
а попробуй еще вот так

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public static void main(String[] args) throws Exception{
    try {
        throw new Exception("Excepption in Try block");
    } catch (Exception e) {
        System.out.println(e.getMessage());
        throw new Exception("Excepption in Catch block");
    } finally {
        System.out.println("Finally block");
        throw new Exception("Exceptions is cool, from finally");
    }
}


Ну эксепшене они такие, да, легкие в использовании и код с ними оченьна очевиден
...
Рейтинг: 0 / 0
19.12.2018, 22:24
    #39750512
Molasar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение брошенное в блоке catch
Почему в моем случае блок Finally не последний?забыл никMolasar,
а попробуй еще вот так

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public static void main(String[] args) throws Exception{
    try {
        throw new Exception("Excepption in Try block");
    } catch (Exception e) {
        System.out.println(e.getMessage());
        throw new Exception("Excepption in Catch block");
    } finally {
        System.out.println("Finally block");
        throw new Exception("Exceptions is cool, from finally");
    }
}


Ну эксепшене они такие, да, легкие в использовании и код с ними оченьна очевиден
...
Рейтинг: 0 / 0
20.12.2018, 07:41
    #39750563
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение брошенное в блоке catch
MolasarПочему в моем случае блок Finally не последний?Если исключение выбрасывается в catch-блоке, то оно должно уйти "наружу".
При этом, finally-блок тоже должен отработать.
В какой, по вашему мнению, последовательности должны происходить отработка finally-блока и "выбрасывание" исключения?
...
Рейтинг: 0 / 0
20.12.2018, 08:18
    #39750577
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение брошенное в блоке catch
Basil A. SidorovMolasarПочему в моем случае блок Finally не последний?Если исключение выбрасывается в catch-блоке, то оно должно уйти "наружу".
При этом, finally-блок тоже должен отработать.
В какой, по вашему мнению, последовательности должны происходить отработка finally-блока и "выбрасывание" исключения?

Да он не может понять, что "Exception in thread "main" java.lang.Exception" выводит не его код, а JVM
...
Рейтинг: 0 / 0
20.12.2018, 09:05
    #39750593
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение брошенное в блоке catch
JVM исполняет код. Генерацию байт-кода, в основном, делает компилятор.
Исключения .
try-блок .
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Исключение брошенное в блоке catch / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]