常见异常举例

""" 一些异常举例:"""

'''模块不存在 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 异常及异常处理 异常捕获的更多相关文章

  1. python入门(十一):异常

     1.异常概念: >>> a Traceback (most recent call last): File "<stdin>", line 1, i ...

  2. Python入门笔记(17):错误、异常

    一.什么是错误,什么是异常,它们两者区别 这里解释如下:个人觉得很通俗易懂 错误是指在执行代码过程中发生的事件,它中断或干扰代码的正常流程并创建异常对象.当错误中断流程时,该程序将尝试寻找异常处理程序 ...

  3. Python入门(一) 异常处理

    异常处理 捕捉异常可以使用try/except语句. try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理. 以下是语法: try: <语句> # ...

  4. Python入门版

    一.前言 陆陆续续学习Python已经近半年时间了,感觉到Python的强大之外,也深刻体会到Python的艺术.哲学.曾经的约定,到现在才兑现,其中不乏有很多懈怠,狼狈. Python入门关于Pyt ...

  5. python异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-3

    异常捕获 异常:程序在运行过程中出现了不可预知的错误,并且该错误没有对应的处理机制,那么就会以异常的形式表现出来 影响:整个程序无法再正常运行 异常的结构 异常的类型 NameError 异常的信息 ...

  6. 十九. Python基础(19)--异常

    十九. Python基础(19)--异常 1 ● 捕获异常 if VS异常处理: if是预防异常出现, 异常处理是处理异常出现 异常处理一般格式: try:     <............. ...

  7. python异常(概念、捕获、传递、抛出)

    异常 目标 异常的概念 捕获异常 异常的传递 抛出异常 01. 异常的概念 程序在运行时,如果 Python 解释器 遇到 到一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常 程序停止执 ...

  8. Python异常和异常处理

    Python异常和异常处理2017年12月20日 22:17:08 Megustas_JJC 阅读数:114 标签: python 异常处理 更多 个人分类: Python 版权声明:本文为博主原创文 ...

  9. Python标准异常和异常处理详解

    python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 1.异常处理: 本站Python教程会具体介绍. 2.断言(Asserti ...

随机推荐

  1. Spark遇到的报错和坑

    1. Java版本不一致,导致启动报错. # 解决方法: 在启动脚本最前边添加系统参数,指定Java版本 export JAVA_HOME=/usr/java/jdk1..0_181-amd64/jr ...

  2. 华为 p8上配置outllook,同步日历/邮件

    在网上找了半天,也没有找到合适的方法,在outlook官网上终于找到了配置方式 一种方式是使用outlook的手机应用.(此处省略) 另外一种方式是使用手机自带的邮件/日历应用(见下面操作方法) 如果 ...

  3. 手指静脉细化算法过程原理解析 以及python实现细化算法

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/8672489.html 文中的一些图片以及思想很多都是参考https://www.cnblogs ...

  4. 【Java】使用Eclipse进行远程调试,Linux下开启远程调试

    原博地址:http://blog.csdn.net/dfdsggdgg/article/details/50730311 1.center下,在startup.sh文件首行中添加如下语句 declar ...

  5. 简介SWT Jface

    可以使用标准窗口小部件工具箱(Standard Widget Toolkit,SWT)和 JFace 库来开发用于 Eclipse 环境的图形用户界面,而且还可以将它们用于开发单独的 GUI 本机应用 ...

  6. 迪米特法則 Law of Demeter

    又稱為"最小知識"原則, 若對Law of Demeter做一個簡單總結: 任何對象的任何方法只能調用以下對象中的方法: (1) 該對象本身 (2) 所傳入的參數對象 (3) 它所 ...

  7. repoquery详解——linux查看包依赖关系的神器

    repoquery是yum扩展工具包yum-utils中的一个工具,所有如果你没有repoquery命令的话,可以先 sudo yum install yum-utils 安装yum-utils包.是 ...

  8. a标签的 onclick 和 href 哪个先执行?

    以下这种写法,onclick 事件先执行, href 属性下的动作后执行(页面跳转或 javascript 伪链接),如果不想执行 href 属性下的动作,onclick 需要返回 false. &l ...

  9. bzoj 4573: [Zjoi2016]大森林

    Description 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树 都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力. ...

  10. 用ping命令简单的测试 延时、抖动、丢包率

    在DOS命令状态下输入 :ping 202.105.135.211 -t (连续的对该IP地址执行Ping命令,直到被用户以Ctrl+C中断)就会得到下面的结果:Pinging 202.105.135 ...