Python--异常处理笔记

异常处理
异常:程序运行过程中出现的错误和警告
异常类:给不同的种类的异常分的类型
NameError:标示符未定义错误
print(a)
TypeError:类型错误
print(“abcd”+123)
IndexError:下标越界错误
lis = [“红烧肉”,“香辣烤鱼”,“火锅”]
print(lis[-len(lis)]) # -len(lis) <= index < len(lis)
f = open(“hello.txt”)
import time
异常处理 :让程序不报错.(不终止运行,可以提示错误,记录进错误日志)
断言(Assertions) : 在需要的时候进行报错.
异常处理
try:
#必选(尝试)可能会出现异常的代码
except:
#捕获到异常要执行的操作(当出错时,执行)
except Exception as e:
# 可以用来记录错误日志
f = open(“error.log”,“a”)
f.write(time.strftime("%Y-%m-%d %H:%M:%S")) + " " + str(e))
f.close()
else: # 可选
#仅当不出错是执行
finally: #可选
#有没有捕获到异常都会执行的代码
for i in range(10):
print(i,end="")

断言
手动引发异常
assert语句用于检测某个条件表达式是否为真。assert语句又称为断言语句,即assert认为检测的表达式永远为真,if语句中的条件判断都可以使用assert语句检测。
assert “mode” in [“train”, “eval”, “inference”]
如果“mode”不在其中则触发异常
显式地引发异常
raise 通过raise显式地引发异常。一旦执行了raise语句,raise后面的语句将不能执行
raise案例
def mye(level):
if level < 1:
raise Exception(“Invalid level!”,level) #强制触发异常,并传入两个参数
# 触发异常后,后面的代码就不会再执行
mye(-1)

class AgeError(Exception):
			pass
age = int(input("请输入您的年龄:"))
#assert age >= 18 ,AgeError("未成年不许进!")
if age < 18:
			#显示触犯错误
			raise AgeError("xxxxxx")
print("欢迎光临!")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值