Я новичок в программировании на python. Возможно возводить исключение в python без использования try except block (or) только с исключением (или) только с блоком try.поднять ключевое слово в python?
Благодаря Mukthyar
Я новичок в программировании на python. Возможно возводить исключение в python без использования try except block (or) только с исключением (или) только с блоком try.поднять ключевое слово в python?
Благодаря Mukthyar
Вам не нужно быть в try..except блоке, но когда вы поднимаете исключение, вы всегда хотите, чтобы поймать его и обработать его где-то в вашем коде. Это использование блока try..except. Вам нужно будет использовать его где-нибудь в своем коде для обработки выделенного исключения, иначе исключение остановит выполнение вашей программы.
Прочитайте документацию по Errors and Exceptions, особенно Raising Exceptions section
raise
заявление позволяет программисту заставить указанный исключение произойдет. Например:>>> >>> raise NameError('HiThere') Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: HiThere
Это хороший совет, но он лучше всего подходит для комментариев к вопросу. Ответы должны отвечать на заданный вопрос. Это просто представляет ссылку за пределы сайта. [Faq] (http://stackoverflow.com/faq#deletion) говорит немного больше и, в частности, вызывает ответы, которые являются «чуть больше, чем ссылка на внешний сайт» как склонная к удалению. –
@DavidHeffernan: это не настоящий вопрос, так или иначе ... – vartec
Итак, вы проголосовали за закрытие как не настоящий вопрос, но затем все равно ответили. Странно. –
Вам не нужно находиться внутри блока try/except
, чтобы создать исключение. С другой стороны, если вы хотите поймать и обработать исключение, вам нужно использовать блок try/except
.
Синтаксическая ошибка: написать try
без except
или finally
. Или действительно написать except
без его соответствия try
. Эти языковые конструкции неразрывно связаны.
Вы можете создать исключение в любой точке вашего кода, и оно выйдет из всех функций, идущих вверх по цепочке вызовов, до тех пор, пока не будет получен соответствующий блок. Вам не обязательно быть внутри блок попыток до raise исключение - только для того, чтобы поймать его.
Полный набор вещей, которые вы можете иметь на попытку блока выглядит следующим образом:
try:
...
except A:
...
except B:
...
else:
...
finally:
...
Вы можете найти полное определение всех этих в документации, но я думаю, что немного вы спрашиваете о том, можете ли вы иметь except:
без try:
- вы не можете. try:
является обязательным в вышеуказанном, и вам нужен хотя бы один из других, но он может быть любым из них (и у вас может быть более одного, в том числе и достаточно много except:
).
@marc_s Я говорил ему много раз, но, похоже, ему не кажется, что в один прекрасный день никто больше ему не поможет. – glglgl