zoukankan      html  css  js  c++  java
  • 第13.1节 关于Python的异常处理

    Python的异常网上有很多资料介绍,老猿就不再细说,在这里老猿只挑几件老猿认为重要的内容介绍一下。

    一、 异常处理完整语法
    异常处理的完整语法语法如下:
    try:

    except (异常1,…,异常n) as e:
    异常处理代码1
    except (异常k,…,异常l) as e:
    异常处理代码1
    else:
    无异常时的正常代码
    finally:
    异常捕获最后要执行的代码

    二、 异常重点关注的内容
    1、注意else和finally的使用
    1)else后面是没有异常时的正常处理逻辑,如果异常捕获代码完整,else语句可以直接放在异常处理后面执行,效果是一样的;
    2)finally是不论是否出现异常、是否捕获异常,都会执行的语句,一般用于释放特定的资源。

    2、如果有多个异常捕获的except子句,应该按异常的继承关系从子类向基类从上向下排列,否则异常定位不够精确,会优先进入前面的基类异常;
    3、异常被捕获后,除非使用raise将异常继续抛出,否则异常将不会再向外传递;
    4、异常处理的代码内可以再嵌套异常处理,不过一般不鼓励这么使用。
    5、使用as语句捕获异常后,可以将异常打印出来;
    6、要捕获所有异常,可以使用Exception,如 except Exception as e。

    三、 一个异常的例子

    >>> def testexcept(i):
    	try:ret=1/i
    	except ZeroDivisionError:
    		print("dived by 0")
    	else:
    		print(f"1/{i}={ret}")
    	finally:
    		print("end")
    
    		
    >>> testexcept(0)
    dived by 0
    end
    >>> testexcept(1)
    1/1=1.0
    end
    >>>
    

    老猿Python,跟老猿学Python!
    博客地址:https://blog.csdn.net/LaoYuanPython

    请大家多多支持,点赞、评论和加关注!谢谢!

  • 相关阅读:
    golang中,new和make的区别
    k8s客户端库
    k8s 拉取私有镜像
    kubernetes-client / python
    k8s集群外go客户端示例
    K8s获取NodePort
    KUBERNETES中的服务发现机制与方式
    Rancher容器目录持久化
    rancher k8s 实现pod弹性伸缩
    在Terminal里,使用Shift+Insert来代替鼠标右键来进行粘贴操作
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643593.html
Copyright © 2011-2022 走看看