python中x=y=z=100语句的写法是错误的_python中处理异常

异常处理

语法错误¶

语法错误又称解析错误,可能是你在学习Python 时最容易遇到的错误:

异常

程序语法没有问题,只有在运行的时候出现问题,称为程序异常。

程序发生异常之后,会自动中断执行,不再运行下面的代码。

处理异常

try:

# 要执行的代码

with open('/hellowolrd',mode='r',encoding='utf8') as f:

print(f.readlines())

# 如果程序出现文件找到不到异常

except FileNotFoundError:

# 处理代码

print("对不起,文件找不到。请重新检查文件路径")

针对同一个程序可以添加多个异常处理。如果异常信息处理不到,可以添加 except  Exception 匹配所有异常。

Exception:所有异常的基类

try:

# 要执行的代码

with open('./data.png',mode='r',encoding='utf8') as f:

print(f.readlines())

# 如果程序出现文件找到不到异常

except FileNotFoundError:

# 处理代码

print("对不起,文件找不到。请重新检查文件路径")

except UnicodeDecodeError:

print("对不起,文件编码有误。请将文件编码改为UTF8编码")

except PermissionError:

print("对不起,文件权限不足,请联系管理员")

# Excpetion 包括所有的异常

except Exception:

print("出现未知异常信息")

注:执行的时候从上往下执行,当匹配到第一个异常时,其他的就都不执行了,当第一个匹配不到时,匹配第二个异常,当都匹配不到时,就执行最后一个

注:要在函数内部进行异常处理,不能把整个函数放到异常里,这样写是错误的

正确的写法如下,要在函数内部进行异常处理

def add(x,y):

try:

return x+y

except TypeError:

print('输入的数据类型有误,请检查数据类型')

except Exception:

print("未知异常")

add(1,"q")

try:

code

except error:

code

...

finally:

code

Finally:无论是否有异常,该语句都会执行

def add(x,y):

try:

return x+y

except TypeError:

print('输入的数据类型有误,请检查数据类型')

except Exception:

print("未知异常")

# 不管有没有异常信息,都要执行的语句。

finally:

print("haha... 执行结束")

add(1,"q")

add(1,1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值