Bull's blog Bull's blog
首页
工作
  • 分类
  • 标签
  • 归档
关于

Bull

首页
工作
  • 分类
  • 标签
  • 归档
关于
  • 马上消费

  • 斗虫

    • 基础课件

      • python基础和条件语句
      • 基础数据类型_改
      • 函数
      • 1 函数练习
      • 32文件操作
      • 3 异常
        • 2.1语法
        • 2.2快速体验
        • 2.3捕获指定异常
          • 2.3.1语法
          • 2.3.2体验
          • 2.3.3 捕获多个指定异常
          • 2.3.4捕获异常描述信息
          • 2.3.5捕获所有异常
        • 4.1 体验案例
      • 面向对象
      • 1面向对象案例-学生管理系统
      • 1Python基础练习题
      • 自动化测试理论
      • 2 接口测试基础
      • 3 requests
      • 4 代码
      • 5 简单封装
      • 1 pytest
      • 签名的设计
      • 接口case设计
      • 3 新建一个接口
      • x装饰器语法
      • httprunner2.x工具快速入门
      • httprunner3.x的简介
      • Flask框架
      • 了解任务
      • mock服务
      • UI自动化策略
      • PageObject模式
      • pytest参数化进阶
      • pytest框架生成报告
      • Yaml运用
      • 日志类模板
      • 持续集成
      • jdk配置
      • Linux基础
      • Jenkins主从测试任务
      • conda管理项目环境
      • 面试题-栈结构
      • 面试题-找众数
      • 正交测试法
      • 装饰器
      • 综合面试题_原版
    • RF

  • 天眼查

  • 某米

  • 工作经历
  • 斗虫
  • 基础课件
wangyang
2023-09-02
目录

3 异常

布尔微信:Matongxue_6


# 课程:异常

# 目标

  • 了解异常
  • 捕获异常
  • 异常的else
  • 异常的finally

# 一.了解异常

当python检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的'异常'。

例如: 以r方式打开一个不存在的文件

open('test.txt','r')
1

执行结果:

1583738125611

# 二.捕获异常

# 2.1语法

try:
    可能发生错误的代码
except:
    如果出现异常执行的代码
1
2
3
4

# 2.2快速体验

需求:尝试以r模式打开文件,如果文件不存在,则以w方式打开

try:
    f = open('test.txt','r')
except:
    f = open('test.txt','w')
1
2
3
4

# 2.3捕获指定异常

# 2.3.1语法

try:
    可能发生错误的代码
except 异常类型:
    如果捕获到该异常类型执行的代码
1
2
3
4

# 2.3.2体验

try:
    print(num)
except NameError:
    print('有错误')
1
2
3
4

注意:

1.如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。

2.一般try下方只放一行尝试执行的代码

# 2.3.3 捕获多个指定异常

当捕获多个异常时,可以把要捕获的异常的名字,放到except后,并使用元组的方式进行存储

try:
    print(1/0)
except (NameError,ZeroDivisionError):
    print('有错误')
1
2
3
4

# 2.3.4捕获异常描述信息

try:
    print(num)
except NameError as result:
    print(result)
1
2
3
4

# 2.3.5捕获所有异常

Exception是所有程序异常类的父类

try:
    print(num)
except Exception as result:
    print(result)
    
1
2
3
4
5

# 三.异常的else

else表示的是如果没有异常要执行的代码

try:
    print(1)
except Exception as result:
    print(result)
else:
    print('我是else,是没有异常的时候执行的代码')
1
2
3
4
5
6

# 四.异常的finally

finally 表示的是无论是否异常都要执行的代码,例如关闭文件

try:
    f = open('test.txt','r')
except Exception as result:
    f = open('test.txt','w')
else:
    print('没有异常,真开心')
finally:
    f.close()
1
2
3
4
5
6
7
8

# 4.1 体验案例

import time
try:
    f = open('test.txt')
    try:
        while True:
            content = f.readline()
            if len(content)==0
            	break
             time.sleep(2)
            print(content)
     except:
        print('意外终止了读取数据')
     finally:
        f.close()
        print('关闭文件')
except:
    print('没有这个文件')
            
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 五.主动引发异常

Python 中还可以使用 raise 抛出一个指定的异常

语法是:raise Exception('自定义异常信息')

status = -1#这个变量表示系统运行状态

if status == 1:
    print('各部件正常,机器运转')
elif status == 2:
    print('核心温度过高,降低运行速度')
elif status ==-1:
    print('部件警报,立即停机')
    raise Exception('自主引发一个异常')
1
2
3
4
5
6
7
8
9
#python自动化#自动化入门
上次更新: 2023/09/05, 02:16:11
32文件操作
面向对象

← 32文件操作 面向对象→

最近更新
01
30.快速实现接口重构测试---deepdiff库使用
09-21
02
概述
09-07
03
概述
09-07
更多文章>
Theme by Vdoing | Copyright © 2018-2025 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式