我有这段代码:
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