Форум сайта python.su
0
Добрый день! Столкнулся с проблемой в коде
# coding: utf8 from zeep import Client try: Number = int (input()) client = Client('URL') result = client.service.Web(Number) except Exception: print('Произошла ошибка') else: return(result ['return']) if (result =="-3") and (result == ""){ print('Произошла ошибка') }else: print(result['return'])
Прикреплённый файлы:
Ошибка.jpg (20,1 KБ)
Офлайн
186
if not result or result =="-3": print('Произошла ошибка') else: print(result['return'])
Офлайн
0
RodegastТеперь выводит так
089564875554
Произошла ошибка
Traceback (most recent call last):
File "a.py", line 11, in <module>
if not result or result =="-3":
NameError: name 'result' is not defined
except Exception: print('Произошла ошибка')
Офлайн
294
megabait1024@mail.ruИ что по вашему делает ваш except Exception:? Ага, выводит на печать ‘Произошла ошибка’ и программа продолжает работать дальше как ни в чем не бывало и вы получите NameError так как в результате исключения переменная result не создалась. Причем этот кусок отработает только если произошло исключение. Если исключения не было, отработает else где происходит выход из функции с возвращением значения.
хотя есть же строчка исключений
else: return(result ['return'])
else: if not result or result =="-3": .....
[code python][/code]
Отредактировано PEHDOM (Июнь 27, 2018 23:17:02)
Офлайн