最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python报的错误怎么处理

    正文概述    2020-05-05   224

    python报的错误怎么处理

    在编写Python代码或开发实际应用的项目时,程序报出异常或错误是在所难免的,那么我们应该怎样处理这些异常呢?下面来说一下方法。

    1.使用try...except捕捉异常

    try:
      s=1/0
    except IndexError:
      print ('except')
    except KeyError:
      print ('Keyerror')
    except ZeroDivisionError:
      print ('ZeroDivisionError')

    try:
      s=1/0
    except:
      print ('出现异常')
    或有多个异常名称的格式
    try:
      s = 1/0
    except(IndexError,KeyError,ZeroDivisionError),e:
      print (e)

    2.使用try ...except...else语句捕捉异常

    当try块中的代码没有异常时,则跳过except块中的代码,执行else块中的代码

    工作原理:

    1).如果try代码块语句执行发生异常,Python就跳回try,执行第一个匹配该异常的except块中的代码

    2).如果异常发生在try代码块内,没有匹配的except子句,name异常就会向上传递到程序中之前进入的try中,或者转到这个进程的顶层(这会使python终止当前程序并打印默认的错误消息)

    3).如果try块中的代码执行没有异常发生,则python将执行else块中的代码

    3.使用try...finally捕捉异常

    当try块中包含了finally语句,则python一定会在执行完try块中的代码之后在执行finally块中的代码(无论try块中的代码是否发生异常都将执行finally块中的代码)

    工作原理:

    1).如果执行try块中的代码时没有发生异常,则Python会跳转至finally语句并执行该代码块,然后继续执行程序中finally语句之后的代码

    2).如果执行try块中的代码时发生异常,则Python依然会执行finally语句中的代码块,但是接着会将异常向上传递到上层的try语句或顶层的默认处理器,程序不会继续执行导致发生异常的语句之后的try块中的代码。也就是说,即使发生了异常,finally代码块还是会被执行,和except不同的是,finally不会终止异常,而是在finally代码块执行后,一直处于发生状态

    4.使用raise抛出异常(手工引发异常)

    raise<异常对象>

    ‘异常对象’表示将引发异常的异常名称,且异常名称标识了具体的异常类。raise语句还可指定对异常对象进行初始化的参数,为此需要在异常类的名称后添加一个逗号以及指定参数(或者由参数构成的一个元组 )。一旦执行了raise语句,raise语句后的代码将不能被执行

    raise<异常对象>,<异常信息标识>

    例子:

    try:
      raise NameError
    except NameError:
      print ('抛出一个异常')

    5.自定义异常

    格式class MyError(Exception):   

     def __init__(self,value):
          self.value=value
        def __str__(self):
          return repr(self.value)
       try:
          raise MyError(2*2)
       except MyError as e:
          print('My exceotion occurred,value:',e.value)

    6.使用assert语句

    用于检测某个条件表达式是否为真。又称断言语句,即assert认为检测的表达式永远为真,断言失败就会引发AssertionError异常

    语法格式:assert<条件判断表达式>

    username = 'admin'
    password='123456'
    assert username =='admin' and password == 'admin','密码错误!'

    起源地下载网 » python报的错误怎么处理

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元