我们把可能发生错误的语句放在try模块里,用except来处理异常。

参考学习链接:

https://www.cnblogs.com/OliverQin/p/12222619.html

异常处理的完整语法:

实际应用--此处用在对Excel文件的判断中:

#coding=gbk
import os
import xlrd

current_path=os.path.dirname(__file__)
excel_path=os.path.join(current_path,'../testcase.xlsx')

def read_excel_date_convert_case_info(excel_path):
try:
all_case_info = []
workbook = xlrd.open_workbook(excel_path)
sheet = workbook.sheet_by_index(1) ##修改这个下标可触发下标越界
for i in range(1,sheet.nrows):
case_info = []
for j in range(0,sheet.ncols):
case_info.append(sheet.cell_value(i,j))
all_case_info.append(case_info)
return all_case_info
##异常按照从上至下的顺序执行
except FileNotFoundError as e:
print("文件未找到")
except IndexError as e:
print("下标越界")
except Exception as e: #继承Exception(异常父类),当不知道什么错误的时候弹出该错误
print("系统错误")

#顶层代码调试
if __name__ == '__main__':
current_path = os.path.dirname(__file__)
excel_path = os.path.join(current_path, '../testcase.xlsx') #修改这个文件路径触发文件未找到异常
cases=read_excel_date_convert_case_info(excel_path)

python应用_异常处理的更多相关文章

  1. Python基础_异常处理与跟踪

    异常的种类 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本上是无法打开文件 ImportError 无法引入模块或 ...

  2. python学习_数据处理编程实例(二)

    在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年 ...

  3. python开发_++i,i += 1的区分

    python开发_++i,i += 1的区分 在很多编程语言(C/C++,Java等)中我们都会碰到这样的语法: 1 int i = 0; 2 ++ i; // -- i; 这样的语法在上述编程语言中 ...

  4. python练习_购物车(简版)

    python练习_购物车(简版) 需求: 写一个python购物车可以输入用户初始化金额 可以打印商品,且用户输入编号,即可购买商品 购物时计算用户余额,是否可以购买物品 退出结算时打印购物小票 以下 ...

  5. Python 基础之 异常处理

    python 基础之异常处理 说到异常处理,就得先问一下,什么是异常处理?  先来看一下,什么是异常? 异常就是:程序运行时发出的错误的信号. 异常的种类先来看一下: 一.常见的异常 Attribut ...

  6. Python基础---python中的异常处理

    Python中的异常处理 一.什么是异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常) 程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关) ...

  7. [Python Study Notes]异常处理

    正则表达式 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理 断言(Assertions) python标准异常 ...

  8. Python系列之 - 异常处理

    python提供的异常处理 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常 ...

  9. Python递归_打印节点信息

    Python递归_打印节点信息 递归特性:1.必须由一个明确的结束条件2.每次进入更深一层递归时,问题规模相比上一次递归都应该有所减少3.递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用时 ...

随机推荐

  1. 洛谷P1424 小鱼的航程(改进版)

    题目背景 原来的题目太简单,现改进让小鱼周末也休息,请已经做过重做该题. 题目描述 有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1<=x&l ...

  2. Linux中su、sudo、sudo -i的用法和区别

    sudo :暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码.缺点是每次执行超级用户权限都要在命令前加上 sudo ,优点是在当前终端再使用 sud ...

  3. c/c++ 中访问2维数组的方式

    指针是c的灵魂,这个真是不容置疑,太灵活了,太随意了, 当然,如果理解了,用得好,比弱类型语言的var 用的还舒服, 用的不好,那就是程序的灾难,哈哈,不多说了,访问二维或多维数组有如下几种方式,下面 ...

  4. 【pytest系列】- mark标记功能详细介绍

    如果想从头学起pytest,可以去看看这个系列的文章! https://www.cnblogs.com/miki-peng/category/1960108.html mark标记 ​ 在实际工作中, ...

  5. [BUUCTF-Pwn]hitcontraining_uaf

    [BUUCTF-Pwn]hitcontraining_uaf 以此题作为对Pwn中堆利用的学习的开始.堆题初见,肯定有许多地方理解不恰当,希望师傅们能多多指教. 0x00.简述 成因 应用程序调用fr ...

  6. GUI基础知识点

    简介 GUI的核心技术:AWT(是Swing 的前身) Swing 不流行的原因 界面不美观 运行需要jre环境(可能一个项目的大小比jre还要大) 为什么我们需要学习 了解MVC架构和监听 AWT ...

  7. python 读写 HDFS

    pandas dataframe写入hdfs csv文件的两种方式: 1. from hdfs.client import Client cleint.write(hdfs_url, df.to_cs ...

  8. (10)MySQL进阶篇SQL优化(InnoDB锁-间隙锁)

    1.概述 当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁:对于键值在条件范围内但并不存在的记录,叫做"间隙(GAP)&quo ...

  9. FPS游戏方框透视基本原理

    计算机图形学基础 计算机图形学最基础的目标就是把建模时构建好的3D物体显示在2D屏幕上,这就涉及到物体在不同坐标系中坐标的转换.(物体/建模坐标系 ---------> 屏幕坐标系) 坐标系 在 ...

  10. mybaties longtext 类型不能映射到自动生成的文件

    假设数据库里有 fun_detail 这样一个字段. 使用 MyBatis Generator 生成的 XXExample 文件,发现没有 fun_detail 这个字段. 需要加一行: <co ...