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

    异常:代码中的逻辑错误

    程序一旦发生错误,就从错误的位置停下来不继续执行

    使用try和except就能处理异常

    try:
        int('aaa')
        print('111')    # 检查错误的位置
        1/0
        print('222')
        name
        print('333')
        2 + '3'
        [][3]
        {}['k']
        ret = int(input('number >>> '))
        print(ret * '*')
    except ValueError:
        print('输入的数据类型有误')
    except IndexError:
        print('超出列表的最大长度了')
    except Exception:
        print('你错了')
    else:
        print('没有异常的时候执行此代码')
    finally:
        print('不管代码有没有异常,都执行此代码')
    View Code

      1. try:

        需要处理的错误代码

      2. except:     

        except + 错误类型:当代码发生错误且错误类型符合时,执行此段代码
        except 支持多分支
        except + Exception: 万能异常处理
          有了万能异常处理仍然要把能预测到的问题单独处理
          单独处理的所有内容都应该写在万能异常之前

    # 可以看到报错信息的异常处理
    
    try:
        int('aaa')
        print('111')    # 检查错误的位置
        1/0
        print('222')
        name
        print('333')
        2 + '3'
        [][3]
        {}['k']
        ret = int(input('number >>> '))
        print(ret * '*')
    except Exception as error:  # 可以看到报错信息
        print('你错了',error)
    View Code

      3. else:

        没有异常的时候执行此代码

      4. finally:

        不管代码有没有异常,都执行此代码
        finally 和 return 相遇的时候,依然会执行
          执行到return时,发现后面还有finally,先执行finally,再返回
          常用于在函数中做异常处理,不管是否异常,去做一些收尾工作(如:关闭文件)

    # finally的用法
    
    # (1)不用finally
    def func():
        try:
            f = open('file','w')
            f.close()
            return True
        except:
            f.close()
            return False
    print(func())
    
    
    # (1)使用finally
    # 执行到return时,发现后面还有finally,先执行finally,再返回
    def func():
        try:
            f = open('file','w')
            return True
        except:
            return False
        finally:
            print('执行finally了')
            f.close()
    print(func())
    View Code
    长得丑就应该多读书。我爱学习,只爱学习,最爱学习!
  • 相关阅读:
    manjaro 安装mysql
    Ubuntu安装Redis
    Ubuntu安装docker
    VirtualBox 安装 Ubuntu虚拟机 显卡驱动
    ubuntu 卸载软件
    Linux下环境变量设置的三种方法:
    error: open of glibc-devel-2.12-1.132.el6.i686.rpm failed: 没有那个文件或目录
    ip地址0.0.0.0与127.0.0.1的区别(转载)
    cmake的安装和卸载
    qmake 提示 Failure to open file:****
  • 原文地址:https://www.cnblogs.com/xc-718/p/9768725.html
Copyright © 2011-2022 走看看