首先说一个发现:

 try:
抛错误,抛异常
except Exception as e:
都被这里抓住了
except Error as e:
这里啥事都没了

然后,说说Exception as e的e。e可谓是格式五花八门。

比如:

再比如:

这么不严谨的格式,实在没办法直接从e.Name或e.Message等之类的主流方式来一步到位地抓出ErrorTitle与ErrorDetail。那怎么办呢?进行了各种尝试后,发现个好方法:

str(type(e)) 可以抓出Title,而且还包含Type。而str(e)则可以抓出Detail。

因此,诞生了格式化工具:

ExceptionX_Result.py:

 class ExceptionX_Result:
exceptionType = None
exceptionTitle = None
exceptionDetail = None;

ExceptionX.py:

 from ExceptionX_Result import ExceptionX_Result

 class ExceptionX:

     @staticmethod
def ToString(arg_exception) :
result = ExceptionX_Result
tempStr = str(type(arg_exception))
tempStrArray = tempStr.split("'")
result.exceptionTitle = tempStrArray[1]
result.exceptionType = tempStrArray[0][1:]
result.exceptionDetail = str(arg_exception)
if result.exceptionDetail[0] == "<":
if result.exceptionDetail[result.exceptionDetail.__len__() - 1] == ">" :
result.exceptionDetail = result.exceptionDetail[1:result.exceptionDetail.__len__() - 1]
return result;

用法例子:

 try:
value = /
except Exception as e:
#在下面这行下一个断点,然后看看tempExceptionInfo的结构吧~
tempExceptionInfo = ExceptionX.ToString(e)

呵呵,终于统一了。最终效果:

再如:

Python 2.7 Exception格式化工具的更多相关文章

  1. Python中异常(Exception)的总结

    Python中的异常处理 异常处理的语句结构 try: <statements> #运行try语句块,并试图捕获异常 except <name1>: <statement ...

  2. [python]标准库json格式化工具

    这段时间做的事情比较杂乱,一部分时间在做运维,一部分时间在做开发,总是太着急,总是感觉很多东西做的不是很满意.还是要静下心来好好想一想,多花些时间来改进,重构和思考. 软件开发绝不紧紧是写代码,完成功 ...

  3. Python 异常(Exception)

    1. 字符串为构造函数的参数 >> raise Exception('hyperdirve overload') Exception Traceback (most recent call ...

  4. python内建Exception类型

    1.Exception类型及分层结构如下: BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Excep ...

  5. Python之异常处理-Exception

    在写python程序时, 不要害怕报错, 也不要怕自己的英语不够好, 不要看到一有红色的字就心里发怂. 其实报的错也是有套路可寻滴~识别了异常的种类, 才能对症下药. 常见异常: Exception ...

  6. 在eclipse中用java调用python报错 Exception in thread "main" ImportError: Cannot import site module and its dependencies

    最近做项目需要用java调用python,配置了jython后,运行了例子代码: 获得一个元组里面的元素: import org.python.util.PythonInterpreter; publ ...

  7. Python handling an exception

    #try...except... try: You do your operations here; ...................... except ExceptionI: If ther ...

  8. pycharm之black配置for python file(代码格式化工具)

    一.介绍下black 源码;https://github.com/ambv/blackpei 二.具体步骤 第一步 安装black: 从命令行安装:例如Windows的cmd窗口,运行命令pip3 i ...

  9. python之最强王者(11)——异常(exception)

    1.Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. ...

随机推荐

  1. POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量

    联系:http://poj.org/problem?id=2391 题意:有f个草场,每一个草场当前有一定数目的牛在吃草,下雨时它能够让一定数量的牛在这里避雨,f个草场间有m条路连接,每头牛通过一条路 ...

  2. RH253读书笔记(5)-Lab 5 Network File Sharing Services

    Lab 5 Network File Sharing Services Goal: Share file or printer resources with FTP, NFS and Samba Se ...

  3. js Array 阵列扩展方法

    //又来了 Array.prototype.unique = function() { this.sort(); var re=[this[0]]; for(var i = 1; i < thi ...

  4. css3制作一个漂亮的按钮

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFMAAAA4CAIAAAAO41POAAAGWklEQVRogeWabWwTdRzH/8EwMb6Q69

  5. UVA10375 Choose and divide 质因数分解

    质因数分解: Choose and divide Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %l ...

  6. SQL入门学习1-查询基础

    2-1 SELECT语句基础 SELECT语句作用 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). 重点 使用SELECT语句从表中选取数据. 为列设定显示用的别名 ...

  7. 【Android开发经验】来,咱们自己写一个Android的IOC框架!

    到眼下位置.afinal开发框架也是用了好几个月了,还记得第一次使用凝视完毕控件的初始化和事件绑定的时候,当时的心情是多么的兴奋- -代码居然能够这样写!然后随着不断的学习,也慢慢的对IOC框架和注解 ...

  8. 亚马逊记AWS(Amazon Web Services)自由EC2应用

    很长时间,我听到AWS能够应用,但是需要结合信用卡,最近申请了. 说是免费的,我还是扣6.28,后来我上网查了.认为是通过进行验证.像服务期满将返回. 关键是不要让我进入全抵扣信用卡支付passwor ...

  9. 24L01/SI24R1调试笔记

    1.SPI MSB优先,8Bit寄存器地址与内容: 2.寄存器结构与之前使用的LT8900不同,分为R.W寄存器与特殊功能寄存器: 3.特别注意:在TX.RX.RT中断或者轮询后置1,必须写1清零与清 ...

  10. Java设计模式菜鸟系列(十三)建模和实现状态模式

    转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39829859 状态模式(State):同意对象在内部状态改变时改变它的行为,对象看起来好像 ...