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

 

 

posted on 2013-12-31 16:07  xxxteam  阅读(2364)  评论(0编辑  收藏  举报

导航