zoukankan      html  css  js  c++  java
  • python学习笔记8-异常处理

    # -*- coding: utf-8 -*-
    # author:wyatt
    # @time:2021/9/16 23:39
    
    # from pprint import pprint
    # pprint() # 可以格式化打印,便于查看数据
    
    
    """
    异常处理
    作用:
    1.尽量让程序正常运行
    2.尽早发现问题
    """
    mlist = [5, 6, 7]
    """
    IndexError: list index out of range
    索引异常
    """
    # IndexError: list index out of range
    # print(mlist[100])
    # 当异常被触发后,不会再往下运行了
    """
    NameError: name 'qa' is not defined
    """
    # print(qa)
    
    age = -3
    if age > 18:
        name = 'yuz'
    elif age > 0:
        name = 'v'
    else:  # 不写else时,程序不知道当else时name的情况,变量未定义
        name = '1'
    # 使用一个变量时确保它定义了
    # print(name)
    """
    SyntaxError: unmatched ')'
    语法错误
    """
    # print("aaa"))
    
    """
    KeyError
    """
    c = {"name": "yuze"}
    # print(c["age"])
    
    """
    ValueError
    """
    # print(int('abc'))
    
    
    """
    如果出现异常如何处理?
    1.首先,异常在python一般会出现提示
    2.分析异常提示
    3.会提示哪一行,哪个文件有问题
    4.再把异常类型,信息,复制出来,搜索
    """
    a = [1, 2, 3]
    index = 1
    try:
        #  你觉得会出现问题的代码
        value = a[index]
        1 / 0
        print("没异常")
        # 当try 子句正常执行完成,不会有捕获
    # except Exception as e:  # 万能异常类型,可以捕获所有的异常,不要轻易使用
    # 写出现异常时,会进行的操作,捕获了异常,可以继续往下执行代码
    except IndexError as e:
        print(f"index索引出现问题,请修复。:{e}")
    except ZeroDivisionError as e:  # 只会捕捉其中一个异常
        print(f"计算错误:{e}")
    except Exception as e:
        print("前面的都捕获不到")
    print("continue")
    
    try:
        1 / 0
    except:
        print("异常")
    finally:
        print("无论如何都会执行的代码")
  • 相关阅读:
    【Vuejs】509- vue-loader工作原理
    【JS】508- MVVM原理介绍
    【Webpack】507- 基于Tree-shaking的多平台Web代码打包实践
    【TS】506- TypeScript 交叉类型
    【WebSocket】505- WebSocket 入门到精通
    【语雀知识库分享】HTTP面试宝典
    【JS】504- HTML5 之跨域通讯(postMessage)
    jQuery 选择器
    JQuery简介
    什么是JDBC的最佳实践?
  • 原文地址:https://www.cnblogs.com/wsfsd/p/15302916.html
Copyright © 2011-2022 走看看