博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python入门19 异常及异常处理 异常捕获
阅读量:4464 次
发布时间:2019-06-08

本文共 1531 字,大约阅读时间需要 5 分钟。

 

常见异常举例

""" 一些异常举例:"""'''模块不存在 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/0except (ZeroDivisionError,NameError):    print('出错了') #发生异常后执行的部分

 

#捕获任何类型的异常import tracebacktry:    x = 10/0    aexcept 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):    passname = 'abc'if name != 'abcd':    raise userError('user error')

 

the end!

 

转载于:https://www.cnblogs.com/dinghanhua/p/9980179.html

你可能感兴趣的文章
integer promotion
查看>>
怎么处理系统蓝屏后提示代码0x000000d1的错误?
查看>>
技术分享:如何在PowerShell脚本中嵌入EXE文件
查看>>
浅析C#中的Attribute
查看>>
【转载】String和StringBuffer的区别,以及StringBuffer的常用方法介绍
查看>>
mysql tp5 find_in_set写法
查看>>
SQL练习之求解填字游戏
查看>>
2017年11月15日
查看>>
codeforces 949B A Leapfrog in the Array
查看>>
类似懒加载的js功能
查看>>
Mysql的DATE_FORMAT()日期格式转换
查看>>
vue实战教程
查看>>
shiro(三),使用第三方jdbcRealm连接数据库操作
查看>>
夜神模拟器
查看>>
SparkStreaming入门及例子
查看>>
Web应用增加struts2支持
查看>>
java程序——凯撒加密
查看>>
面试题:比较两个数字大小
查看>>
Linux命令:pgrep
查看>>
大数据应用期末总评
查看>>