• 了解异常
  • 捕获异常
  • 异常的else
  • 异常finally
  • 异常的传递
  • 自定义异常

异常的写法

try:#可能发生错误的代码f=open('test one.txt','r')
except:#如果出现异常执行的代码f=open('test one.txt','w')

捕获指定异常

try:#可能发生错误的代码print(num)
except NameError:#异常类型#如果捕获到该异常类型执行的代码print('有错误')
  • 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常
  • 一般try下方只放一行尝试执行的代码

捕获多个指定异常
当捕获多个异常时,可以把要捕获的异常类型的名字,放到except后,并使用元组的方式进行书写

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

捕获异常描述信息

try:print(num)
except(NameError,ZeroDivisionError) as result:
#result是一个变量,存储捕获到的异常描述信息print(result)
输出:
name 'num' is not defined

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

try:print(1/0)
except Exception as result:print(result)

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

try:print(1)
except Exception as result:print(result)
else:print('嘿嘿!我是else,没有异常时需要执行我哦!!')

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

try:f=open('test.txt','r')
except Exception as result:f=open('test.txt','w')
else:print('没有异常!!嘿嘿!')
finally:f.close()

异常的传递

需求:
1.尝试只读方式打开text.txt文件,如果文件存在则读取文件内容,文件不存在则提示用户即可
2.读取内容要求:尝试循环读取内容,读取过程中如果检测到用户意外终止程序,则except捕获异常并提示用户

import time
try:f=open('test.txt')try:while True:con=f.readline()if len(con)==0:breaktime.sleep(2)print(con)except:#在命令提示符中按下ctrl+c,程序就会意外终止print('程序被意外终止')
except:print('!!文件不存在')

自定义异常

在Python中,抛出自定义异常的语法为raise异常类对象
需求:密码长度不足,则报异常(用户输入密码,如果输入的长度不足6位,则报错;即抛出自定义异常,并捕获该异常

#自定义异常类,继承Exception
class ShortInputError(Exception):def __init__(self,length,min_len):self.length=lengthself.min_len=min_len#设置抛出异常的描述信息def __str__(self):return f'你输入的长度是{self.length},不能少于{self.min_len}个字符'def main():try:con=input('请输入密码:')if len(con)<6:raise ShortInputError(len(con),3)except Exception as result:print(result)else:print('密码输入已经完成')main()

总结:

异常语法:

try:可能发生异常的代码
except:如果出现异常执行的代码
else:没有异常执行的代码
finally:无论是否异常都要执行的代码

捕获异常:

except 异常类型:代码
except 异常类型 as xx :代码

自定义异常

#自定义异常类
class 异常类类名(Exception):代码#设置抛出异常的描述信息def __str__(self):return ···#抛出异常
raise 异常类名()#捕获异常
except Exception···

异常——Python相关推荐

  1. python获取键盘输入_python之判断数据异常Python读取键盘输入

    Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: <python之判断数据异常Python读取键盘输入>总结了关于python网站教程,对于我们来www. ...

  2. python中exception类的_什么是Python异常?Python异常的种类

    程序中难免出现错误,而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正)#语法错误示范一 if #语法错误示范二 def test: pass 2. ...

  3. python使用异常的目的和好处_python 错误与异常,python assert的作用

    python 错误与异常 语法错误 异常:大多数的异常都不会被程序处理,都以错误信息的形式展现在这里 异常处理: while True: try: x = int(input("请输入一个错 ...

  4. 文件和异常 Python

    1.读取文件 with open("F:\\1.txt", encoding=const.Utf8) as file: content = file.read() file.rea ...

  5. python中什么是异常,python中异常处理,python异常处理,什么是异常?异常是一

    python中异常处理,python异常处理,什么是异常?异常是一 什么是异常? 异常是一个事件,该事件会在程序的执行中发生,影响程序的正常运行,一般情况下,在python无法正常处理程序时,就会发生 ...

  6. Impala-shell 启动异常 - Python版本为3.x 启动脚本为2.x

    启动 Impala-shell 报错如下 [root@xxx ~]# impala-shellFile "/opt/cloudera/parcels/CDH-5.13.0-1.cdh5.13 ...

  7. linux 脚本 异常,python写linux指令脚本回调异常打不开

    B等于"",因为尚未初始化的非固定长度「字串」都等于"" 我的方法是:在EXCEL中录制宏,然后在EXCEL的VBA编辑器中修改语句,调试运行无误后再粘贴到VB ...

  8. python异常机制

    python异常处理机制 1.1python的内置异常 当我们在运行代码的时候一旦程序报错,就会终止运行,并且有的异常是不可避免的,但是我们可以对异常进行捕获,防止程序终止. python的内置异常是 ...

  9. python基础---元组、字典、函数、文件、异常

    文章目录 python基础---元组.字典.函数.文件.异常 Tuple(元组) 常用操作 dict(字典) 函数 文件 异常 python基础-元组.字典.函数.文件.异常 Tuple(元组) tu ...

最新文章

  1. 从天气项目看Spring Cloud微服务治理
  2. BAPI_BILLINGDOC_CANCEL1解析
  3. Java基础--继承、this、super、抽象类
  4. maven 包的导入
  5. 博鳌直击 | 大数据开发的最大障碍是什么?
  6. 深度学习的实用层面 —— 1.14 关于梯度检验实现的标记
  7. 【华为云技术分享】云小课 | 初识HiLens Kit,解锁更多智慧应用场景
  8. 饿了么618数据:休闲娱乐业增超200% 医美消费者翻倍
  9. 从滴滴亏109亿说起
  10. Scrum vs Waterfall vs Agile vs Lean vs Kanban
  11. wifi免密码登录认证流程
  12. 银行争夺又一万亿市场:汽车金融
  13. 武汉大学教务系统爬虫
  14. 捐一个亿的是加多宝,不是王老吉!只喝加多宝,不喝王老吉!
  15. Game boy模拟器(3):GPU的时序
  16. 如何实现 AppStore App 的自动下载
  17. 为什么 MySQL 唯一索引会导致死锁,“有心杀贼,无力回天”?
  18. @kubernetes(k8s)label标签的使用及service代理模式
  19. RuntimeError: Found dtype Long but expected Float
  20. 大数据分析:结合 Hadoop或 Elastic MapReduce使用 Hunk

热门文章

  1. CentOS5.6系统中安装并使用USB无线网卡(配置成功) 转
  2. session的工作原理【转】
  3. 「陶哲軒實分析」 習題 3.5.9
  4. 程序员面试金典——18.10字符串变换
  5. 微信小程序---家庭记账本开发(三)
  6. Genymotion安装apk问题,不能部署Genymotion-ARM-Translation_v1.zip
  7. ABP框架详解(六)Aspects
  8. 1106 冒泡排序的语法树
  9. datetime使用
  10. 系统分析员备考之系统工程篇(系统工程基础)