2013-11-24 27 views
3

我已经使用Boost Python将我的C++代码制作成一个接口,从我的C++代码调用Python解释器。我很想知道是否有任何API函数或可以使Python运行时安全的东西。我的意思是说,如果代码中出现任何错误和错误,是否可以让解释器跳过?如何使Python运行时安全?

在此先感谢

+0

在Python代码本身中简单地捕获任何异常是否更好? – cm2

+0

“跳过”故障或异常不是一种选择,因为代码可能无法继续运行。最好的办法是将所有Python代码的执行包装在“try/except”中,但是无法恢复并继续执行。 – martineau

回答

1

Python有exception handling功能。你可以用有try块,以创建一个错误的可能性的任何代码:

try: 
    #do risky stuff 
except Exception as e: 
    print "Exception", e, "received. Code will continue to execute" 
    #do other stuff that needs to be done 

您可以用特定的类型,你希望异常的代码替换Exception,如ZeroDivisionError,然后你的代码只会捕获这种类型的错误。

+1

是的,这里是所有可用选项的巨型线程http://stackoverflow.com/questions/730764/try-except-in-python-how-to-properly-ignore-exceptions – user1462442

+0

'模块'具有特定的含义在Python中。 – agf

+0

我在我的C++代码中使用Python解释器,我想在我的C++代码中进行错误处理!在Python中处理错误有一个缺点,我不希望我的C++错误被Python处理! –