python入门19 异常及异常处理 异常捕获
常见异常举例
- """ 一些异常举例:"""
- '''模块不存在 ModuleNotFoundError: No module named 'data' '''
- #import data1
- '''索引越界 IndexError: list index out of range '''
- li = [1,2]
- #li[3]
- '''key不存在 KeyError: 'a' '''
- dict1 = {}
- #dict1['a']
- ''' NameError: name 'a' is not defined '''
- #a #未定义的变量
- '''缩进错误 IndentationError: expected an indented block '''
- # if 1:
- # return True #缩进错误
- '''语法错误 SyntaxError: invalid syntax '''
- #def fund x: return x
- ''' 类型错误 TypeError: can only concatenate str (not "int") to str '''
- #'a' + 2
- ''' 除数为0 ZeroDivisionError: division by zero'''
- #2/0
- ''' 递归错误 未设置跳出条件 RecursionError: maximum recursion depth exceeded '''
- # def f(x):
- # return f(x)
- # f(1)
异常捕获 try except finally
- """异常捕获
- try(可能发生异常的语句)
- except(发生异常后处理)
- else(没有发生异常后执行的语句)
- finally(不管有无异常都要继续执行的语句)
- 不捕获,发生异常后后程序会中断执行。捕获异常,可根据异常进行处理
- """
- #捕获一种特定异常
- try:
- x = 10/0
- print('x=',x) #异常后的不执行
- except ZeroDivisionError:
- print('除数不能为零') #发生异常后执行的部分
- else:
- print('没有除数异常') #没有发生异常后执行
- finally:
- x = 0
- print('finally') #不管有无异常均一定会执行的部分
- #捕获多种异常
- try:
- a
- x = 10/0
- except (ZeroDivisionError,NameError):
- print('出错了') #发生异常后执行的部分
- #捕获任何类型的异常
- import traceback
- try:
- x = 10/0
- a
- except BaseException as e:
- print(e) #仅显示异常信息
- traceback.print_exc() #显示错误所在详细的堆栈信息
- print('后续程序继续执行')
抛出异常raise
- """抛出异常 raise 错误类型(错误信息)"""
- name = 'abc'
- if len(name) <= 6:
- raise ValueError('username必须大于6个字符')
- else:
- print('ok')
自定义异常
- """自定义异常类,继承自已有异常类"""
- class userError(BaseException):
- pass
- name = 'abc'
- if name != 'abcd':
- raise userError('user error')
the end!
python入门19 异常及异常处理 异常捕获的更多相关文章
- python入门(十一):异常
1.异常概念: >>> a Traceback (most recent call last): File "<stdin>", line 1, i ...
- Python入门笔记(17):错误、异常
一.什么是错误,什么是异常,它们两者区别 这里解释如下:个人觉得很通俗易懂 错误是指在执行代码过程中发生的事件,它中断或干扰代码的正常流程并创建异常对象.当错误中断流程时,该程序将尝试寻找异常处理程序 ...
- Python入门(一) 异常处理
异常处理 捕捉异常可以使用try/except语句. try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理. 以下是语法: try: <语句> # ...
- Python入门版
一.前言 陆陆续续学习Python已经近半年时间了,感觉到Python的强大之外,也深刻体会到Python的艺术.哲学.曾经的约定,到现在才兑现,其中不乏有很多懈怠,狼狈. Python入门关于Pyt ...
- python异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-3
异常捕获 异常:程序在运行过程中出现了不可预知的错误,并且该错误没有对应的处理机制,那么就会以异常的形式表现出来 影响:整个程序无法再正常运行 异常的结构 异常的类型 NameError 异常的信息 ...
- 十九. Python基础(19)--异常
十九. Python基础(19)--异常 1 ● 捕获异常 if VS异常处理: if是预防异常出现, 异常处理是处理异常出现 异常处理一般格式: try: <............. ...
- python异常(概念、捕获、传递、抛出)
异常 目标 异常的概念 捕获异常 异常的传递 抛出异常 01. 异常的概念 程序在运行时,如果 Python 解释器 遇到 到一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常 程序停止执 ...
- Python异常和异常处理
Python异常和异常处理2017年12月20日 22:17:08 Megustas_JJC 阅读数:114 标签: python 异常处理 更多 个人分类: Python 版权声明:本文为博主原创文 ...
- Python标准异常和异常处理详解
python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 1.异常处理: 本站Python教程会具体介绍. 2.断言(Asserti ...
随机推荐
- hdu-1022-栈
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- Android: 通过Runtime.getRuntime().exec调用底层Linux下的程序或脚本
Android Runtime使得直接调用底层Linux下的可执行程序或脚本成为可能 比如Linux下写个测试工具,直接编译后apk中通过Runtime来调用 或者写个脚本,apk中直接调用,省去中间 ...
- 常用Redis命令
在 Windows 下配置 Redis 集群 在 Windows 下配置多个 Redis(简化配置) MicrosoftArchive/redis 官方Redis集群搭建文档 Redis命令 Cent ...
- mathjs使用指南
1.安装 npm install mathjs 2.引入 import * as math from "mathjs" 3.使用方法 函数调用法:math.add(math.sqr ...
- IBM Rational Appscan Part 1
By Rohit T|July 23rd, 2012 http://resources.infosecinstitute.com/ibm-rational-appscan/ IBM Rational ...
- 关于微信小程序的动态跳转
最近在研究微信小程序.在做一个简单的购物小程序时,遇到一个问题:如何通过扫码实现动态的跳转页面功能, 通过研究终于找到了解决方法: 首先当然要实现扫码解析功能js的代码: click: functio ...
- c#-FrameWork01
Framwork ArrayList l 集合类似于数组,同样是用来存放连续数据的,但集合的功能比数组更强大 l 集合和数组的最大区别:数组一旦定义以后就无法改变其大小,而集合可以动态的改变其大小 ...
- 线程操作之Thread类
在.Net fremework 中,所有与线程有关的操作都封装在System.Thread命名空间中, 所以在操作线程时,要先引入次命名空间 Thread类的常用方法 Abort 线程终止 Join ...
- 了解WaitForSingleObject中WAIT_ABANDONED 返回值
1.互斥量内核对象 互斥量内核对象用来确保一个线程独占对一个资源的访问.互斥量对象包含一个使用计数.线程ID以及递归计数.互斥量与关键段的行为完全相同.但是互斥量是内核对象,而关键段是用户模式下的同步 ...
- Oracle中scott用户下基本表练习SQL语句
--选择部门中30的雇员SELECT * from emp where DEPTNO=30;--列出所有办事员的姓名.部门.编号--采用内连接方式,也就是等值链接,也是最常用的链接SELECT ena ...