常见异常举例

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

'''模块不存在 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. centos7.4 上面 docker 启动 cAdvisor 报错问题解决

    2018-10-29 docker 启动 cAdvisor,操作系统CentOS7: docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/v ...

  2. PIE SDK地图鹰眼图

    鹰眼图,是GIS的一个基本功能,在鹰眼图上可以像从空中俯视一样查看地图框中所显示的地图在整个图中的位置,是对全局地图的一种概述表达,能够起到很好的空间提示和导航的作用.网上有很多Arcengine 二 ...

  3. oracle 操作实例(一)----rman 全备恢复

    一,环境背景 拥有全备数据库 全备脚本: export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/u01 export ORACLE_SID=pr ...

  4. 前端性能优化插件 --- PageSpeed Insights

    对于前端工程师来说,前端性能优化始终都是非常重要的一环,它决定了用户体验, 决定了一个用户是否愿意在页面的加载浪费时间, 从而丢失用户. 所以前端性能优化是非常重要的. 下载地址 https://ch ...

  5. xampp安装步骤及启动

    1  chmod 755 xampp-linux-*-installer.run 2 sudo ./xampp-linux-*-installer.run 启动停止 3 sudo /opt/lampp ...

  6. 【计算机网络】HTTP请求和响应格式

    HTTP请求格式:<request-line><headers><blank line>[<request-body>]说明:第一行必须是一个请求行(r ...

  7. Mysql系列-字符集

    字符集 怎样选择合适的字符集 如果应用程序需要发布到很多国家和地区,需要支持各种各样的文字,则选择Unicode编码,Mysql中即UTF-8.q如果需要将数据导入数据库,这时候要注意数据库字符集对数 ...

  8. Struts2中Action对象的set方法和get方法调用规则

    Struts的Action是采用的是多实例多线程设计,而不是像Servlet那样采用单实例多线程设计,因此在struts中,一个请求就对应一个Action对象,个对象之间的数据相互之间互不干扰.没接到 ...

  9. js中防止事件传播的方法

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  10. WebAssembly简单指导---译

    开发者指导 本页面提供一步一步的操作将一个简单的程序编译成webassembly 前提要求 为了编译成webAssembly,需要提前安装一些工具: Git.在Linux和OSX下已自带了Git,在W ...