Некоторые вопросы, подобные этому, действительно должны сопровождаться реальным намерением кода. Причина в том, что некоторые проблемы должны решаться совершенно по-разному. В тексте сценария return
может использоваться для выхода из сценария. С другой точки зрения, вы можете просто запомнить ситуацию в переменной и реализовать желаемое поведение после конструкции try/except
. Или ваш except
может протестировать более явный вид исключения.
В приведенном ниже коде представлен один вариант с переменной. Переменной назначается функция (назначенная функция здесь не вызывается). Функция называется (через переменную) только после того, как try/except
:
#!python3
import sys
def do_nothing():
print('Doing nothing.')
def my_exit():
print('sys.exit() to be called')
sys.exit()
fn = do_nothing # Notice that it is not called. The function is just
# given another name.
try:
x = "blaabla"
y = "nnlfa"
if x != y:
fn = my_exit # Here a different function is given the name fn.
# You can directly assign fn = sys.exit; the my_exit
# just adds the print to visualize.
else:
print("Error!")
except Exception:
print(Exception)
# Now the function is to be called. Or it is equivalent to calling do_nothing(),
# or it is equivalent to calling my_exit().
fn()
Что случилось с использованием 'sys.exit'? Если мы не знаем, почему вам нужно другое решение, мы не можем предложить тот, который будет работать для вас. –
Я не понимаю голоса, их законный вопрос. Если вы хотите избежать обработки удаления объекта, вы можете использовать 'os._exit'. – tdelaney
привет @Morgan Thrapp.come на man.thats не работает. Это причина, по которой я хочу другое решение. Я внес изменения в question.please, помогите мне разобраться в этом. – kragor