/ / Робота спробувати - Ловити та нарешті [закрито] - java, oop, try-catch

Робота Try - Catch і, нарешті, [closed] - java, oop, try-catch

Кілька днів тому ми провели лекцію про спробу лову таНарешті, блокує, але мені цікаво, як JVM обробляє спробу "ловлі" і, нарешті, кодує. Причина, якщо генерується виняток, то як це вирішує його. І що відбувається всередині кожного блоку під час обробки винятків та генерації винятків. Як це відбувається система знає, що отриманий результат є винятком, а не легітимним результатом. Що саме відбувається всередині ПК, коли виконується блок пробування.

було б дуже корисно, якби хтось міг сказати мені ці поняття.

Відповіді:

1 для відповіді № 1

Улов не обов'язково "вирішує". Ловець використовується для обробки коду, коли виникає виняток. Ви можете помістити в блок запиту будь-який дійсний код.

У блоці спробу код виконується за рядком, якщо в рядку трапляється виняток, буде виключення кинули. Потім використовується блок лову улов виняток і обробляти його. Якщо виняток не буде вилучений, це призведе до помилки виконання. Виконання в блоці спробу зупиниться в будь-який момент, коли виняток виникає в блоці спробу, а не завершить обробку решти блоку спробу. Він перейде прямо до блоку лову, щоб обробити код саме для цього винятку.

Нарешті блок використовується для виконання блокукод незалежно від того, стався виняток чи ні. Остаточний блок завжди буде виконуватися незалежно від того, відбудеться чи не виключення, поки виняток буде вилучений.


0 для відповіді № 2

Як правило, коли будь-яка проблема або помилка виникає вОператор, який перебуває у блоці спробу, він безпосередньо переспрямовується на блок вилучення для отримання типу винятку. Якщо виняток отримав його обробник, ніж він обробляє помилку.