Автор оригинала: Neeraj Sujan.
Если вы являетесь разработчиком приложений, вам может придеться реализовать код без ошибок, который хорошо проверен. В моих случаях мы хотели бы игнорировать ввод/вывод или числовые исключения. В этом сообщении вы узнаете, как мы можем смело игнорировать исключения в Python.
Представьте себе, что вы работаете над приложением, в котором у вас есть список номеров и хотелось бы выводить обратную часть номеров. Если по ошибке список состоит из 0, то программа будет сбой, поскольку мы дайвинг 1 на 0, что поднимет исключение. Мы можем реализовать это без ошибок, используя попытку и кроме блока.
Мы можем достичь этого следующими двумя шагами
- Поместите логику принимать взаимную часть номера в блок попробовать
- Реализуйте блок исключения, который выполнен, где число равно 0. Продолжить с остальной частью логики
Без пробного блока
Сначала сначала реализуйте логику, используя простоту для цикла. Как вы можете видеть на выходе ниже, программа разбилась, когда число было 0
numbers = [12, 1, 0, 45, 56] for number in numbers: print('result is {}'.format(1/number))
Выход
result is 0.08333333333333333 result is 1.0 --------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last)in () 1 for number in numbers: ----> 2 print('result is {}'.format(1/number)) ZeroDivisionError: division by zero
С пробным замком
Давайте теперь посмотрим, как мы можем смело игнорировать исключение
numbers = [12,1,0,45,56] for number in numbers: try: print('result is {}'.format(1/number)) except Exception as e: print('Ignoring Exception', e)
Выход
result is 0.08333333333333333 result is 1.0 Ignoring Exception division by zero result is 0.022222222222222223 result is 0.017857142857142856
Резюме
В этом блоге вы узнали, как безопасно игнорировать исключения в Python. Вы узнали, как использовать попытку и кроме блокировки и продолжить программу, если исключение встречается.