Я ищу лучший способ, как написать функцию переноса в python (2.6). Эта функция принимает команду (вызов функции) в качестве параметра и завершает сценарий, когда этот вызов не прошел хорошо (возвращаемое значение ошибки). Основная проблема, которую я вижу, заключается в том, что, когда происходит вложенный вызов, который не выполняется, wrap также должен обнаружить это событие и завершить сценарий. НапримерЛучший способ моделирования «wrap» в python
def foo1(x):
y = foo2(x)
return y
def foo2(y):
y = 2**y
return y
then I use wrap like this:
wrap(foo1(2))
Пожалуйста, обратите внимание этот пример крайне упрощена.
Дело в том, что оболочка должна обнаруживать, что ошибка возникает даже в foo2.
Благодарим за любые ответы.
Не можете ли вы просто использовать 'try ... except', чтобы уловить ошибки в' wrap' функции? – thefourtheye
Вопрос не для меня понятен. Исключения будут распространяться, и вы можете поймать их на любом уровне. – bosnjak
Я думаю, что мне придется использовать try, но я могу захотеть обернуть исполняемое приложение (как подпроцесс). Попробуй сам справиться с этой ошибкой? –