Python 3.3 try catch所有的错误Error,不包括Exception。关键在于 sys.exc_info()

 import os;
import sys;
#----------------------------------------------
def main( ) :
try :
a = 1 / 0;
print("如果运行到这里则说明没有错误。");
except :
错误标题 = str( sys.exc_info()[0] );
错误细节 = str( sys.exc_info() );
print("遇到【" + 错误标题 + "】错误。细节:" + 错误细节);
os.system("pause");
return 0;
#----------------------------------------------
main( );
#----------------------------------------------

输出:

遇到【<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

上一篇:POJ 2799 IP Networks


下一篇:Thread’s start method and run method