心情有点纠结,怎么说呢,倒不是因为其他学习上的事情,反而是因为生活上狗血的剧情逼着人偏离,渐行渐远,人跟人之间有误会也是正常的,可能是因为交流不够,彼此不够了解吧,希望能尽快度过这一段纠结的日子,简单的生活,慢慢的品味,细细的思考。
最近一段时间,因为需要,借阅了一本Python Cookbook,发现这本书在很多方面介绍的都很不错,比如一些系统管理,web,分布式编程,数据持久化等等这些方面。但是却没有发现详细的关于错误和异常的一些介绍,本着作死的态度打算好好研究一下。
首先,照例,我们先来看一段示例程序:
首先,我们这里出现的不是异常,而是另一个我们经常遇到的非致命警告warning,主要是向用户提供非致命警告,指出运行一个程序时遇到的问题,通常来说,我们最好是在程序中不要出现这些东西,否则我们就需要从新审视我们的代码了。
一.Warning---非致命警告
警告使用的是内置异常类Warning的子类进行分类,通常需要根据过滤器(filter)设置来处理。过滤器一般包括,Action,Message,Category,Module和Line number.也可以这么理解,这里面的消息Message部分通常是一个匹配警告文本的正则表达式,类别Catregory是一个异常类的名称,模块Module包含一个正则表达式,要与生成警告的模块名匹配,行号Line Number可以改变在一个警告出现时的处理
每当生成一个警告时,都需要将其与注册过的过滤器比较,第一个匹配的过滤器将控制这个警告采取的动作,否则采取默认的动作,其实本质流程上会发现与Exception异常处理如出一辙,看一下常见的过滤器动作:
动作 |
含义 |