2013-11-24 49 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處理! –