Python 3.3 try catch所有的错误Error,不包括Exception。关键在于 sys.exc_info()
1 import os; 2 import sys; 3 #---------------------------------------------- 4 def main( ) : 5 try : 6 a = 1 / 0; 7 print("如果运行到这里则说明没有错误。"); 8 except : 9 错误标题 = str( sys.exc_info()[0] ); 10 错误细节 = str( sys.exc_info() ); 11 print("遇到【" + 错误标题 + "】错误。细节:" + 错误细节); 12 os.system("pause"); 13 return 0; 14 #---------------------------------------------- 15 main( ); 16 #----------------------------------------------
输出:
遇到【<class 'ZeroDivisionError'>】错误。细节:(<class 'ZeroDivisionError'>, Zer
oDivisionError('division by zero',), <traceback object at 0x00000000029C6688>)
请按任意键继续. . .
注意,以上仅仅是捕捉错误Error。如果需要捕捉异常Exception,请参考:
http://docs.python.org/3/tutorial/errors.html#raising-exceptions