Функция try except улавливает возврат 0, происходящий внутри метода, для которого мы запускаем try except on?

#python #try-catch #return-value

#python #try-catch #возвращаемое значение

Вопрос:

Если я добавлю блок try: except в этот оператор if, будет ли условие возврата 0 сообщаться как исключение?

(Приведенные ниже инструкции if находятся внутри метода)

 if x:
   do something
elif y:
   do something 
else:
   print("Please use valid condition")
   return 0
 

Комментарии:

1. Короткий ответ: нет. Вы обнаружили, что он сделал что-то другое?

2. Нет, возврат не является исключением. try будет улавливать исключения, которые raise были разделены; либо непосредственно вами, либо функцией, которую вы вызываете внутри try .

3. Это зависит от того, что вы хотите сделать. Если вы хотите полностью выйти из программы, это exit может быть уместно. Однако вы не дали много информации в вопросе.

4. raise ValueError("Unexpected value for x and y") казалось бы , разумная замена для return 0 .

5. «Значит, метод try except поймает это?» Да, вы бы перехватили исключение ValueError.