• python 异常处理函数--raise
  • 发布时间:2019-12-31 00:16 | 作者:admin | 来源:原创 | 浏览:1200 次
  •   当依次出现毛病,python会主动激发异常,也能够经过raise显示地激发异常。一旦履行了raise语句,raise前面的语句将不能履行。

      用raise语句来激发一个异常。异常/毛病对象必须有一个名字,且它们应是Error或Exception类的子类。

      Python用异常对象(exception object)表现异常状况,碰到毛病后,会激发异常。假设异常对象并未被处理或捕捉,依次就会用所谓的回溯(Traceback,一种毛病信息)终止履行。

      Python中的raise 关键字用于激发一个异常,基本上和C#和Java中的throw关键字相反,以下所示:

      raise关键字前面是抛出是一个通用的异常类型(Exception),通俗来讲抛出的异常越具体越好,Python在exceptions模块内建了很多的异常类型,经过应用dir函数来检查exceptions中的异常类型,以下:

      捕捉到了异常,然则又想从新激发它(传递异常),可以应用不带参数的raise语句便可:

      Python中也能够自定义自己的特别类型的异常,只需求要从Exception类秉承(直接或直接)便可:

      和C#中的try/catch相似,Python中应用try/except关键字来捕捉异常,以下:

      在一个except语句只捕捉厥后声明的异常类型,假设能够会抛出的是其他类型的异常就需求再添加一个except语句了,或许也能够指定一个更通用的异常类型比如:Exception,以下:

      为了捕捉多个异常,除声明多个except语句以外,还可以在一个except语句以后将多个异常作为元组列出来便可:

      每个异常都邑有一些异常信息,通俗状况下我们应当把这些异常信息记录上去:

      finally子句和try子句联合应用然则和except语句分歧,finally不论try子句外部可否有异常爆发,都邑履行finally子句内的代码。一切通俗状况下,finally自己经经常使用于封闭文件或许在Socket中。

      演示raise用法

      try:

      s=None

      if s is None:

      print "s 是空对象"

      raise NameError #假设激发NameError异常,前面的代码将不能履行

      print len(s) #这句不会履行,然则前面的except照样会走到

      except TypeError:

      print "空对象没有长度"

      s=None

      if s is None:

      raise NameError

      print 'is here?' #假设不应用try......except这类方法,那么直接抛出异常,不会履行到这里

      1.Python是若何停止内存办理的?

      答:从三个方面来讲,一对象的援用计数机制,二残余收受接管机制,三内存池机制

      1、对象的援用计数机制

      Python外部应用援用计数,来保持追踪内存中的对象,一切对象都有援用计数。

  • 相关内容
  • 2010-2013 柠檬铺 版权所有 | 联系邮箱:8888888888@qq.com 赣ICP088888888881245号
  • 专业DEDECMES网站模版制作!承接二次开发,精仿,网站设计,插件模块制作等!此模版为DEDECMS5.7 GBK 文章类模版。