zoukankan      html  css  js  c++  java
  • python的异常抛出

    1、异常抛出概念

    • 异常:程序运行时,如果python解释器遇到一些错误,并且提示一些错误信息及其说明
    • 抛出:程序异常并且提示等动作

    2、捕获异常

    2.1、最简单的捕获异常方式

    • 在程序中捕获异常一般用try来捕获

    • 最简单捕获方式

      try:
          异常语法
      except:
          异常输出
      

    例子:

    编写一个不能处0的案例

    s1=int(input("请输入一个数字:"))
    try:
        result = 9 / s1
    except:
        print("不能为0")
    

    结果:

    请输入一个数字:0
    不能为0
    
    Process finished with exit code 0
    

    2.2、根据类型捕获异常

    • 在程序中我们要根据不同的错误返回不同的信息

      代码格式如下:

      try:
          异常代码
      except 异常类型:
          提示
      except 异常类型:
          提示
      

      例子:

      try:
          s1 = int(input("请输入一个数字:"))
          result = 9 / s1
      except ZeroDivisionError:
          print("不能为0")
      except ValueError:
          print("请输入正确的整数")
      

      结果1:

      请输入一个数字:a
      请输入正确的整数
      
      Process finished with exit code 0
      

      结果2:

      请输入一个数字:0
      不能为0
      
      Process finished with exit code0
      

    2.3、捕获未知异常

    • 在程序中会遇到未知错误,又想让程序运行,所以我们要捕获斌输出

      格式:

      try:
          异常代码
      except ZeroDivisionError:
          错误提示
      except Exception as a:
          未知信息
      

      例子:

      try:
          s1 = int(input("请输入一个数字:"))
          result = 9 / s1
      except ZeroDivisionError:
          print("不能为0")
      except Exception as a:
          print(f"错误提示{a}")
      

      结果:

      请输入一个数字:a
      错误提示invalid literal for int() with base 10: 'a'
          
      Process finished with exit code 0
      

    2.4、异常抛出的完整语法

    • 实际开发中有些难度,下面为完整的格式

      try:
          异常代码
      except 异常类型:
          提示信息
      except Exception as a:
          提示信息
      else:
          没有异常代码
      finally:
          有没有异常都会执行
      

    例子:

    try:
        s1 = int(input("请输入一个数字:"))
        result = 9 / s1
    except ZeroDivisionError:
        print("不能为0")
    except Exception as a:
        print(f"错误提示{a}")
    else:
        print("123")
    finally:
        print("有没有都会执行")
    

    结果:

    请输入一个数字:0
    不能为0
    有没有都会执行
    
    Process finished with exit code 0
    

    2.5、主动创建异常抛出

    • 我们会在程序中设置一些为满足条件就出现异常,终止程序

    例子:

    输入的年龄大于0且小于100

    def getAge():
        age = int(input("请输入年龄:"))
        if age>0 & age<100:
            return age;
        ex=Exception("age输入错误")
        return ex;
    print(getAge())
    

    结果:

    请输入年龄:-1
    age输入错误
    
    Process finished with exit code 0
    
  • 相关阅读:
    C语言实现数据机构链表的基本操作(从键盘输入生成链表、读取数组生成链表)
    MySql-8.0.x免安装版下载与配置,Navicat打开数据库链接报错1251的解决办法
    win10彻底卸载和删除MySql
    Linux/(centos、unix等)的ssh双向免密登录原理和实现
    笔趣阁小说-圣墟-爬虫源代码
    C语言实现顺序表的基本操作(从键盘输入 生成线性表,读txt文件生成线性表和数组生成线性表----三种写法)
    python语言开发环境配置
    Python闭包详解
    结对作业
    Java第九次作业——接口回调
  • 原文地址:https://www.cnblogs.com/liuzhijun666/p/13127239.html
Copyright © 2011-2022 走看看