首页 > 其他分享 >day14

day14

时间:2023-12-18 18:00:37浏览次数:27  
标签:try 错误 代码 错误信息 except day14 类型

day14(异常处理)

1.异常常见错误类型

# 异常俗称bug

# 以下是异常的常见错误类型
# SyntaxError  
# NameError
# IndexError
# KeyError
# IndentationError

2.异常处理的语法结构

1.基本语法结构

try:
    待监测的代码(可能会出错的代码)
except 错误类型:
    针对上述错误类型制定的方案

2.查看错误的信息

try:
    待监测的代码(可能会出错的代码)
except 错误类型 as e:  # e就是系统提示的错误信息
    针对上述错误类型制定的方案

3.针对不同的错误类型制定不同的解决方案

try:
	待监测的代码(可能会出错的代码)
except 错误类型1 as e:  # e就是系统提示的错误信息
	针对上述错误类型1制定的方案
except 错误类型2 as e:  # e就是系统提示的错误信息
	针对上述错误类型2制定的方案
except 错误类型3 as e:  # e就是系统提示的错误信息
	针对上述错误类型3制定的方案

4.万能异常 Exception/BaseException

try:
    待监测的代码(可能会出错的代码)
except Exception as e:  # e就是系统提示的错误信息
    针对各种常见的错误类型全部统一处理

5.结合else使用

try:
    待监测的代码(可能会出错的代码)
except Exception as e:  # e就是系统提示的错误信息
    针对各种常见的错误类型全部统一处理
else:
    try的子代码正常运行结束没有任何的报错后 再执行else子代码

6.结合finally使用

try:
    待监测的代码(可能会出错的代码)
except Exception as e:  # e就是系统提示的错误信息
    针对各种常见的错误类型全部统一处理
else:
    try的子代码正常运行结束没有任何的报错后 再执行else子代码
finally:
    无论try的子代码是否报错 最后都要执行finally子代码

3.异常处理关键字补充

1.断言(对未来进行判断)

name = 'jason'
# assert isinstance(name, int)
assert isinstance(name, str)
print('哈哈哈 我就说吧 肯定是字符串')
name.strip()

2.主动抛异常

name = 'jason'
if name == 'jason':
    raise Exception('老子不干了')
else:
    print('正常走')

4.异常处理实战应用

1.异常处理能尽量少用就少用
2.被try监测的代码能尽量少就尽量少
3.当代码中可能会出现一些无法控制的情况报错才应该考虑使用
	eg: 使用手机访问网络软件 断网
      编写网络爬虫程序请求数据 断网

课堂练习

# 使用while循环+异常处理+迭代器对象 完成for循环迭代取值的功能
l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99]
# 1.先将列表调用__iter__转变成迭代器对象
iter_l1 = l1.__iter__()
# 2.while循环让迭代器对象反复执行__next__
while True:
    try:
        print(iter_l1.__next__())
    except StopIteration as e:
        break

标签:try,错误,代码,错误信息,except,day14,类型
From: https://www.cnblogs.com/wangmiaolu/p/17911826.html

相关文章

  • 每日一练 | 华为认证真题练习Day145
    1、一台路由器通过RIP、OSPF和静态路由都学习到了到达同一目的地址的路由。默认情况下,VRP将最终选择通过哪种协议学习到的路由?A.三种协议学习到的路由都选择B.静态路由C.OSPFD.RIP2、如果网络管理员没有配置骨干区域,则路由器会自动创建骨干区域。A.对B.错3、设备链路聚合支持......
  • 每日一练 | 华为认证真题练习Day144
    1、DHCPv6无状态自动分配方案中,主机不需要发送任何DHCPv6报文。A.对B.错2、IPv4最后一个选项字段(option)是可变长的可选信息,该字段最大长度为?A.40BB.20BC.60BD.10B3、关于ARP协议的作用和报文封装,描述正确的是()。A.通过ARP协议可以获取目的端的MAC地址和UUID的地址B.ARP协议......
  • Day14 多态知识点综合
    1.方法重写的定义重载(overload)是在同一个类中的具有多个相同方法名,参数列表不同(的方法(返回类型可以不同),构造方法、普通方法、抽象方法都可以重载;重写(override)是在子类继承父类的时候重写,可以用@Override检查是否是重写方法,方法重载是一个类的多态性的表现,而方法重写是子类与父类......
  • Day14 自增自减运算符,初始Math(幂运算)
    自增自减运算符,初始Math(幂运算)以下全程idea操作重点搞清楚++--在前还是在后分清楚先自增自减还是先赋值packageoperator;publicclassDemo04{publicstaticvoidmain(String[]args){//++--自增,自减一元运算符inta=3......
  • pythnoDay14
    函数可以被赋值、可以当作函数的参数传入 可以当作函数当作另一个函数的返回值和当作一个容器里的元素 当作容器里的一个元素(案例二)  承接上面的复杂写法 函数嵌套调用:一个函数调用另一个函数 闭包函数 ......
  • day14 模块和内置模块
    day14模块课程目标:掌握Python中常用模块的使用方法。今日概要:自定义模块(包)第三方模块内置模块【1/2】1.自定义模块1.1模块和包importhashlibdefencrypt(data):"""数据加密"""hash_object=hashlib.md5()hash_object.update(data.encode('utf......
  • Day14
    黑夜给了我黑色的眼睛,我却用他来寻找光明。单词承载历史,历史成就单词梦魇Incubus(lieon)Succubus(lieunder)cubliedown横躺cubincubusincubateincubationincubativeincubatorcubicleconcubineconcubinagecumbsuccumbincumbentrecumbentrecumbencyp......
  • Day14.形参与实参的介绍和具体使用
    1.形参与实参:  2.位置参数:  3.关键词参数:  4.默认参数__默认形参: 5.位置形参与默认形参混用强调点一和二: 6.位置形参与默认形参混用强调点三: 7.1.可变长度的位置参数: 7.2.可变长度的参数_2星号可以用在实参中: 8.可变长度的关键字参数: 9.可变......
  • java基础-集合-day14
    目录1.数据结构算法2.本章的重点集合3.collections4.list5.泛型6.泛型通配符7.linkedList8.模拟linkedList源码--面试重点8.Iterrable9.HashSet9.LinkedHashSet10.TreeSet12map1.数据结构算法算法:解决问题的步骤例如1+2+3+...+10050*(1+100)=5050算法优劣的......
  • drf-day14
    频率源码分析频率源码APIView----disaptch---》self.initial(request,*args,**kwargs)---》416行:self.check_throttles(request)----》352行check_throttlesdefcheck_throttles(self,request):#self.get_throttles()就是咱们配置在视图类上频率类的对......