zoukankan      html  css  js  c++  java
  • Python异常处理

    2019-05-28

    Python中的异常处理

    需求:
      当程序遇到问题时不让程序结束,而越过错误继续向下执行

    try......except.....else
    格式:
    try: 语句t except 错误表示码 as e: 语句2 ....... except 错误表示码 as e: 语句n else: 语句e

     

    注意:
      else语句可有可无
    作用:
      用来检测try语句块中的错误,从而让except语句捕获错误信息并处理

    逻辑:
      当程序执行到try-except-else语句时
        1、如果当try语句执行出现错误,会匹配第一个错误码,如果匹配上就执行对应的"语句"
        2、如果try语句执行出现错误,没有匹配的异常,错误将会将提交到上一层的try语句。或者到程序的最上层。
        3、如果try语句执行没有出现错误,执行else下的语句else/得存在
      使用execpt而不使用任何的错误类型
      使用execpt带着多种异常

     

    try:
      pass
    except(NameError,ZreoDivisionError)
      print("出现了NameError或ZreoDivisionError")



    特殊的一些错误:
      1、错误其实就是class(类),所有的错误都继承自BaseException,所以在捕获的时候,它不回来该类型的错误,还把子类一网打尽。
      2、跨越多层调用,main调用了func2,func2调用了func1,func1出现了错误,这是只要main捕获到了就可以处理。例如以下:

    def func1(num):
        print(1/num)
    def func2(num):
        func1(num)
    def main():
        func2(2)
    main()

    写代码时内出现错误,怎么检测异常

    try.....except.......finally

    格式:

    try:
    语句1
    except 错误表示码 as e:
    语句2
    .......
    
    except 错误表示码 as e:
    语句n
    finally:
    语句f
    作用:语句1无论是否有错误都将继续执行最后的语句f

    断言:

    def func(num,div):
    assert(div !=0),"div不能为0"
    return num/div
    
    print(func(10,0))
    
     

    常见错误:

    Name Error 变量没定义
    Systax Error 语法错误
    IO Error 文件错误
    Zero DivisionError 10/0,除零错误
    Value Error 值错误,例如a = int(‘aa’)
    keyboard Interrupt 强制终止程序产生,ctrl+c强制终止程序运行

     

    喜欢的可以打赏!!!
  • 相关阅读:
    我的数学之美(一)——RANSAC算法详解
    机器学习经典算法之-----最小二乘法(zz)
    基于大数据的餐饮推荐系统总结
    Hive 数据错位修复方案
    Python 2.x 判断 Excel 是否包含指定的 sheet
    Shell脚本判断目录是否为空
    MySQL启动报错 The server quit without updating PID file 解决方案
    DolphinScheduler 1.3.2集群版(基于CDH5.13.1)安装手册
    添加 Shell 脚本的启动用户限制
    CentOS 7 离线安装 MySQL 5.7
  • 原文地址:https://www.cnblogs.com/despatch/p/10937820.html
Copyright © 2011-2022 走看看