Описание тега try-catch-finally

Обычное использование catch и finally вместе - получение и использование ресурсов в блоке try, обработка исключительных обстоятельств в блоке catch и освобождение ресурсов в блоке finally.
4 ответа

Почему, наконец, блок существует?

В большинстве языков программирования есть блок finally, который может быть помещен после блока try или catch следующим образом: try { sensitiveFunction(); } catch (Exception e) { executedWhenFailed(); } finally { alwaysExecuted(); } Но мы можем вып…
19 июл '18 в 21:08
1 ответ

Создание исключения в блоке перехвата с помощью спящего режима перед закрытием в конце

Итак, я хочу получить подтверждение по этому поводу. Я объясню в псевдокоде. public void myFunc() throws Exception{ Session session = Hibernate.getSession(); try{ //do somthing } catch(Exception ex){ throw ex; } finally{ session.close(); } } Поэтому…
30 дек '10 в 03:20
2 ответа

Python все в блоке try

Я пишу большой сценарий пакетного типа на Python, и в конце мне нужно выполнить некоторую очистку, независимо от того, произошло ли исключение. Для этого я просто помещаю основную программу в блок try, а очистку - в блок finally. Кажется, это работа…
1 ответ

Как обрабатывать исключения броска внутри блока finally в Java

В Java, не рекомендуется бросать исключения внутри finally раздел в try-chatch блокировать из-за скрытия распространения любого необработанного throwable который был брошен в try или же catch блок. Эта практика blocker нарушение уровня в соответстви…
3 ответа

Логика php кода по версии

Я хочу решение что-то вроде: представьте, у меня есть try catch Блок, работает в любом php 5.?.? версия, но с finally блок не в любом. мой код должен быть таким: try { // some logic } catch (Exception $ex) { // some logic } finally { // other logic …
29 дек '15 в 20:12
0 ответов

Я знаю, наконец, что исключение выдается без какой-либо переменной

Есть ли способ узнать в finally это исключение выдается без использования какой-либо дополнительной переменной, как показано ниже: boolean hasFailed = true; try { // code //... hasFailed = false; } finally { if (hasFailed) { // handle failure } } Ан…
1 ответ

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

Я слышал, что исключение и блоки try-catch не должны использоваться для управления потоком, поэтому я хотел бы переработать этот код, чтобы избежать такого появления. У меня есть метод validateTrainingSets внутри класса neuralNetwork, который делает…
23 янв '19 в 18:05
7 ответов

C#: зачем беспокоиться о предложении "наконец"?

Возможный дубликат: Зачем использовать наконец в C#? В C# какой смысл иметь finally статья? например. try { // do something } catch (Exception exc) { // do something } // do something Разве код в конце не будет выполнен в любом случае? Какой смысл f…
06 авг '10 в 18:06
2 ответа

Почему компилятор Java наконец-то копирует блоки?

При компиляции следующего кода с простым try/finally Блок, компилятор Java производит выходные данные ниже (просмотр в ASM Bytecode Viewer): Код: try { System.out.println("Attempting to divide by zero..."); System.out.println(1 / 0); } finally { Sys…
15 мар '15 в 14:16
2 ответа

Кнопка остановки события WPF, Selenium

Как остановить событие кнопки, когда сработало исключение...? Я использовал блоки try try, если сработало исключение, оно попытается выполнить следующий код, я не хочу этого... Просьба проверять комментарии в коде.. Я неправильно использую блоки try…
29 июн '15 в 09:56
6 ответов

Наконец, содержимое блока работает перед тем, как попробовать?

Как я могу исправить приведенный ниже код, чтобы, наконец, часть не была перезаписана, и я мог видеть "Это обычный текст" в тексте lbl.Process? try { grd_Order.SaveClicked(sender, e); //This is a button's Clicked event, which redirects to the same p…
05 окт '12 в 06:49
3 ответа

Наконец, пункт в транзакции SQL Server? Что-то, что будет выполняться независимо от успеха или неудачи?

В SQL Server есть что-то похожее на finally пункт в try..catch... блок с #? Я имею в виду, я использую BEGIN TRAN, END TRAN, COMMIT TRAN, ROLLBACK TRAN и т.д. в транзакции SQL Server и хотите раздел или некоторый набор действий, которые должны запус…
2 ответа

Наконец выражение в питоне

Выполнение следующего кода: кликните сюда Я получил следующий вывод: 3 хорошо 6 хорошо ой хорошо хорошо Бум Я не понимаю, почему он печатает жирным шрифтом в порядке? он даже не входит в петлю. Я хотел бы получить глубокое понимание того, как работа…
04 мар '17 в 18:29
2 ответа

В блоке finally я могу сказать, какое исключение было сгенерировано?

В блоке finally я могу сказать, какое исключение было сгенерировано? Я понимаю, что мы можем проверить в блоке finally, если было сгенерировано исключение.
10 мар '17 в 01:22
1 ответ

Scala Continuations - Почему мой сдвинутый вызов не может быть внутри блока try-catch?

Я новичок в продолжениях Scala и относительно новичок в языке Scala в целом. Я попытался поиграть с продолжениями Scala и написал следующий код: case class MyException(msg:String) extends Exception def go:Int = reset { println("enter your input") va…
2 ответа

Это лучший способ освободить соединение SQLite в Java?

Мне нужен хороший способ закрыть соединения SQLIte в Java. После нескольких предложений других пользователей я решил добавить в свой код finally блок, чтобы быть уверенным, что операция закрытия всегда выполняется. public static boolean executeQuery…
06 сен '12 в 10:24
1 ответ

Исключение нулевого указателя после блока finally

Я получаю NullPointerException в конце этого куска кода: @Override public final void onHandleIntent(Intent intent) { try { Context context = getApplicationContext(); String action = intent.getAction(); if (action.equals(INTENT_FROM_GCM_REGISTRATION_…
4 ответа

Выполнение операторов после блока try/catch, содержащего return

Есть три случая для рассмотрения: Случай 1: public class Test { public static void main(String[] args) { System.out.println(1); System.out.println(2); return; System.out.println(3); } } Случай 2: public class Test { public static void main(String[] …
27 май '14 в 14:51
1 ответ

SonarQube, операторы перехода в блоке finally (squid:S1143)

Я знаю, операторы jump в блоке finally не должны использоваться. В этом простом примере "break" используется для отключения "switch". SonarQube (5.6.3) с sonar-java 4.5.0.8398 сообщает о проблеме: Msgstr "Операторы перехода не должны встречаться в б…
5 ответов

О ваще

Я знаю finallyЦель состоит в том, чтобы гарантировать выполнение некоторых инструкций или кода очистки. Но какова разница в использовании finally или поставить код после блока catch.Я имею в виду, приведите пример случая, когда вам нужно использоват…
22 май '14 в 20:39