2
我有這段代碼:在Python中,如何捕獲剛剛提出的異常?
jabberid = xmpp.protocol.JID(jid = jid)
self.client = xmpp.Client(server = jabberid.getDomain(),
debug = [])
if not self.client.connect():
raise IOError('Cannot connect to Jabber server')
else:
if not self.client.auth(user = jabberid.getNode(),
password = password,
resource = jabberid.getResource()):
raise IOError('Cannot authenticate on Jabber server')
它使用xmpppy。由於xmpppy如果無法連接或驗證,不會拋出任何異常,所以我需要自己拋出它們。問題是,我如何捕獲那些拋出的異常,只輸出錯誤消息,而不是完整的回溯,並保持代碼在儘管運行?
編輯
這是建設合適嗎?
def raise_error():
raise IOError('Error ...')
if not self.client.connect():
try:
self.raise_error()
except IOError, error:
print error
這是更好地創建用戶定義的異常爲[Exception類(HTTP:// docs.python.org/tutorial/errors.html)。 – Ben
這是真的,我只是模擬這個答案的問題。 –
@Lattyware請看這個問題的編輯。你是這個意思嗎? –