【Pyton】【小甲鱼】异常处理:你不可能总是对的

Exception

1.assertionerror举例

 1 >>> my_list=[‘小甲鱼是帅哥‘]
 2 >>> assert len(my_list)>0
 3 >>> my_list.pop()
 4 ‘小甲鱼是帅哥‘
 5 >>> assert len(my_list)>0
 6 Traceback (most recent call last):
 7   File "<pyshell#6>", line 1, in <module>
 8     assert len(my_list)>0
 9 AssertionError
10 >>> 

2.attribute举例

1 >>> my_list.fishc #实际上my_list这个对象并没有fishc这样的属性,所以会报错
2 Traceback (most recent call last):
3   File "<pyshell#7>", line 1, in <module>
4     my_list.fishc
5 AttributeError: ‘list‘ object has no attribute ‘fishc‘

3.indexerror举例

1 >>> my_list=[1,2,3]
2 >>> my_list[3]
3 Traceback (most recent call last):
4   File "<pyshell#9>", line 1, in <module>
5     my_list[3]
6 IndexError: list index out of range

4.keyerror举例

1 >>> my_dict={‘one‘:1,‘two‘:2,‘three‘:3}
2 >>> my_dict[‘one‘]
3 1
4 >>> my_dict[‘four‘] #访问的字典元素不存在
5 Traceback (most recent call last):
6   File "<pyshell#12>", line 1, in <module>
7     my_dict[‘four‘]
8 KeyError: ‘four‘
9 >>> my_dict.get(‘four‘) #使用get方法可以避免报错的出现,以避免让用户看到报错

5.nameerror举例

1 >>> fishc #尝试访问一个不存在的变量
2 Traceback (most recent call last):
3   File "<pyshell#14>", line 1, in <module>
4     fishc
5 NameError: name ‘fishc‘ is not defined

6.typeerror举例(不同类型间的无效操作)

1 >>> 1+‘1‘ #‘1’
2 Traceback (most recent call last):
3   File "<pyshell#17>", line 1, in <module>
4     1+‘1‘
5 TypeError: unsupported operand type(s) for +: ‘int‘ and ‘str‘

7.zerodivisionerror举例

1 >>> 5/0
2 Traceback (most recent call last):
3   File "<pyshell#18>", line 1, in <module>
4     5/0
5 ZeroDivisionError: division by zero
时间: 2024-08-08 13:59:08

【Pyton】【小甲鱼】异常处理:你不可能总是对的的相关文章

第九章 异常处理[DDT书本学习 小甲鱼]【1】

9.1 你不可能总是对的举例如下file_name=input("请输入文件的名称:")s="C:\\Users\\Daodantou\\Desktop\\"+file_namef=open(s,"r",encoding="UTF-8")print("文件的内容是:")for each in f: print(each)-------------------------------请输入文件的名称:reco

【Pyton】【小甲鱼】类和对象

一.类 定义一个类,例子如下: 1 class Turtle: #定义一个名为Turtle的类,Python中类型约定以大写字母开头 2 #属性 3 color='green' 4 weight=10 5 legs=4 6 shell=True 7 mouth='大嘴' 8 9 #方法 10 def climb(self): 11 print('我正在很努力的向前爬--') 12 def run(self): 13 print('我正在飞快的向前跑--') 14 def bite(self):

小甲鱼PE详解之输入表(导出表)详解(PE详解09)

小甲鱼PE详解之输出表(导出表)详解(PE详解09) 当PE 文件被执行的时候,Windows 加载器将文件装入内存并将导入表(Export Table) 登记的动态链接库(一般是DLL 格式)文件一并装入地址空间,再根据DLL 文件中的函数导出信息对被执行文件的IAT 进行修正. ( 基础补充:很多朋友可能看到这里会有点懵,各位看官请允许小甲鱼啰嗦一下,照顾初学者.我们都明白Windows 在加载一个程序后就在内存中为该程序开辟一个单独的虚拟地址空间,这样的话在各个程序自己看来,自己就拥有几乎

小甲鱼PE详解之输入表(导入表)详解(PE详解07)

捷径并不是把弯路改直了,而是帮你把岔道堵上! 走得弯路跟成长的速度是成正比的!不要害怕走上弯路,弯路会让你懂得更多,最终还是会在终点交汇! 岔路会将你引入万劫不复的深渊,并越走越深…… 在开始讲解输入表(导入表)概念之前,请允许小甲鱼童鞋用简短的几句话来总结之前我们学过的内容,并做进一步的思想综合提升,注意咯! 首先,我们知道PE 文件中的数据被载入内存后根据不同页面属性被划分成很多区块(节),并有区块表(节表)的数据来描述这些区块.这里我们需要注意的问题是:一个区块中的数据仅仅只是由于属性相同

小甲鱼python视频第九讲(课后笔)

1.列表里可以存放什么东西? 可以存放任何的数据类型, list1 = ['我爱你','i love you',1314] print(list1) 2.向列表中添加元素 append(将参数作为一个元素添加到列表的结尾) list1 = ['我爱你','i love you',1314] print(list1) list1.append(['forever','just you']) print(list1) extend  (将参数作为一个列表添加到列表的结尾) list1 = ['我爱你

小甲鱼PE详解之IMAGE_NT_HEADERS结构定义即各个属性的作用(PE详解02)

PE Header 是PE相关结构NT映像头(IMAGE_NT_HEADER)的简称,里边包含着许多PE装载器用到的重要字段.下边小甲鱼将为大家详细讲解哈~ (视频教程:http://fishc.com/a/shipin/jiemixilie/) 首先是IMAGE_NT_HEADERS 结构的定义:(啥?结构不会,先看看小甲鱼童鞋的<零基础入门学习C语言>关于结构方面的章节吧~) IMAGE_NT_HEADERS STRUCT { +0hDWORDSignature  // +4h  IMAG

Python学习笔记(一)------源于小甲鱼视频学习

Python的高效简洁不必多说,学者必知.接触了各种视频教程后,发现小甲鱼的教学视频很幽默,也比较容易接受,非常感谢小甲鱼!在此顶小甲鱼一下,推荐给各位同仁. 零基础入门学习Python:http://blog.fishc.com/category/python 001主要内容: Python 3.4.3版本的安装:https://www.python.org/ftp/python/3.4.3/python-3.4.3.msi print函数的使用 002主要内容: 1.第一个文字游戏 2.涉及

小甲鱼python视频第四讲(笔记及课后习题答案)

今天主要学习的是关于第二讲中那个猜数字游戏的改进,在课程中主要学到了以下知识点: 1:python的比较操作符 2:if和else语句的使用 3:while循环 4:and的使用 5:简单的模块引用(本课程为random的引用) 1,关于python的比较操作符,有如下几种: 1 python比较操作符 2 3 > 左边大于右边 4 >= 左边大于等于右边 5 < 左边小于右边 6 <= 左边小于等于右边 7 = 左边等于右边 8 != 左边不等于右边 注意:所使用的符号均为英文输

小甲鱼PE详解之区块表(节表)和区块(节)续(PE详解05)

这一讲我们结合实例来谈谈区块表的定义以及各个属性的含义. 首先,我们先用之前学过的一点知识在二进制文件中手动翻找区块表,这样做的好处是可以使你很快的对PE结构牢记于心.学来的东西就是能用的东西,不能用的理论是空谈,是瞎扯. (具体过程演示大伙可参考小甲鱼的视频教程:<解密系列>系统篇.第五讲) 这里我们经过千辛万苦终于找到了我们的区块表了(当然将来我会教大家写一个自己的工具,让工具去找,现在让大家自己动手是为了增强感觉!),现在我们联系上一章节提到的区块表的结构对各个成员进行详细的分析: ty