Вопросы с тегом «try-catch-finally»


11
Что произойдет, если блок finally генерирует исключение?
Если блок finally создает исключение, что именно происходит? В частности, что происходит, если исключение выдается на полпути через блок finally. Вызваны ли остальные операторы (после) в этом блоке? Я знаю, что исключения будут распространяться вверх.

20
Почему попытка {…} наконец {…} хороша; попробуй {…} поймать {} плохо?
Я видел, как люди говорили, что использовать catch без аргументов - плохая форма, особенно если эта catch ничего не делает: StreamReader reader=new StreamReader("myfile.txt"); try { int i = 5 / 0; } catch // No args, so it will catch any exception {} reader.Close(); Тем не менее, это считается хорошей …

3
@try - блок вылова в Objective-C
Почему @try не блокирует работу? Приложение рухнуло, но предполагалось, что оно попадет в блок @try. NSString* test = [NSString stringWithString:@"ss"]; @try { [test characterAtIndex:6]; } @catch (NSException * e) { NSLog(@"Exception: %@", e); } @finally { NSLog(@"finally"); }

6
Возвращаясь из блока finally в Java
Недавно я был удивлен, обнаружив, что в блоке finally в Java возможно иметь оператор return. Похоже, что многие люди думают, что это плохо, как описано в « Не возвращайся в конце предложения ». Немного углубившись в подробности, я также обнаружил, что «возвращение Java не всегда » показывает довольно ужасные примеры …

6
Это плохая практика - возвращаться из блока try catch finally?
Итак, сегодня утром я наткнулся на код, который выглядел так: try { x = SomeThingDangerous(); return x; } catch (Exception ex) { throw new DangerousException(ex); } finally { CleanUpDangerousStuff(); } Теперь этот код отлично компилируется и работает так, как должен, но кажется неправильным возвращаться из блока try, особенно если есть …

6
Всегда ли "finally" выполняется в Python?
Гарантируется ли, что для любого возможного блока try-finally в Python finallyвсегда будет выполняться блок? Например, скажем, я возвращаюсь, находясь в exceptблоке: try: 1/0 except ZeroDivisionError: return finally: print("Does this code run?") Или, может быть, я повторно подниму Exception: try: 1/0 except ZeroDivisionError: raise finally: print("What about this code?") Тестирование показывает, …

11
Java Try Catch finally блокирует без Catch
Я просматриваю новый код. В программе есть только блок попыток и окончание. Поскольку блок catch исключен, как работает блок try, если он встречает исключение или что-то бросаемое? Он просто переходит непосредственно в блок finally?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.