学编程必须得会的异常处理
Posted 神的孩子都在歌唱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学编程必须得会的异常处理相关的知识,希望对你有一定的参考价值。
前言:
作者:神的孩子在歌唱
这是我听老师讲课做的笔记
大家好,我叫陈运智,大家可以叫我智
一. 介绍
程序出现错误了怎么办?我们可以通过打断点,编写异常处理代码,也可以通过编译器自己找寻错误
-
什么是异常?
比如你的代码写错了,在程序运行到错误代码时候,就会终止报错,出现提示,这就是异常 -
编译器会自己报错,不用自己手动找错误 ?
这种在代码量很少的情况下你能很快判断出来,要是代码量很多,就无法很快找到错误的地方,这时候就需要我们编写异常处理的代码了
二. 异常语句处理
2.1 基本介绍
- 语法格式:
try:
#可能出现错误的代码块
except:
#出错之后执行的代码块
else:
#没有出错的代码块
finally:
#不管有没有出错都执行的代码块
-
作用:如果
try
里面代码异常,except
就将错误捕获,然后执行下一个代码块,这样程序就不会因为一段代码包异常而导致整个程序崩溃。 -
代码演示
我们可以通过
Exception
可以捕获任何类型的异常
try:
print(小智)
except Exception as e: # Exception 可以捕获任何类型的异常
print('报错提示:',e)
else:
print('上面没错,就执行我')
finally:
print('我错没错都执行')
输出:
try改成
print('小智')
输出:
2.2 异常传递
如果多个函数嵌套调用,内层函数异常,异常会往外部传递,直到异常被抛出,或被处理。
def a():
print('执行a函数')
1/0 # 制造一个异常
def b():
print('执行b函数')
try:
a() # 调用a函数
except Exception as e:
print(e)
print('b函数执行完成')
b()
输出:
2.3 自定义异常
-
自定义异常,都要直接或间接继承
Error
或Exception
类。 -
由开发者主动抛出自定义异常,在python中使用
raise
关键字,由调用者决定是否需要做异常处理,如不处理,可继续抛出。 -
代码演示
如果输入的名字大于给定的四位数就报错
#自定义异常,如果不合法就报错
class Test(Exception):# 自定义异常类需要继承Exception
def __init__(self,len):#我们以输入姓名长度为列
self.len=len
pass
def __str__(self):
return '你输入的姓名长度超出所定义的长度了'
pass
def name_Test():#定义一个函数
name=input('请输入你的名字:')
try:
if len(name)>4:
raise Test(Exception)#raise关键字是抛出异常
else:
print(name)#没有错误就输出
except Test as e:
print(e)#捕获异常输出
pass
finally:#不管有没有捕获到异常,finally都是执行的
print('执行完毕')
name_Test()
输出:
如果输出超过4个字符的名字,就执行自定义的异常提示
本人博客:https://blog.csdn.net/weixin_46654114
本人b站求关注:https://space.bilibili.com/391105864
转载说明:跟我说明,务必注明来源,附带本人博客连接。
请给我点个赞鼓励我吧
以上是关于学编程必须得会的异常处理的主要内容,如果未能解决你的问题,请参考以下文章