AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
IOError 输入/输出异常;基本上是无法打开文件
ImportError 无法引入模块或包;基本上是路径问题或名称错误
IndentationError 语法错误(的子类) ;代码没有正确对齐
IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError 试图访问字典里不存在的键
KeyboardInterrupt Ctrl+C被按下
NameError 使用一个还未被赋予对象的变量
SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError 传入对象类型与要求的不符合
UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
导致你以为正在访问它
ValueError 传入一个调用者不期望的值,即使值的类型是正确的
try:
<语句> #运行别的代码
except <异常名称>:
<语句> #如果在try部份引发了‘name‘异常
except (<异常A>,<异常B>):
<语句> #如果引发了‘name‘异常,获得附加的数据
else:
<语句> #如果没有引发异常,则执行else中的语句
finally:
<语句> # 无论是否发生异常都将执行finally代码
raise
try:
open("test.text")
except FileNotFoundError as e: # as+变量名:重命名异常信息
print("文件操作失败,原因:", e)
# 执行结果:
文件操作失败,原因: [Errno 2] No such file or directory: ‘test.text‘
def dev(a, b):
try:
c = float(a)/float(b)
except ValueError as e: # as+变量名:重命名异常信息
print("字符串不能做除法,具体异常如下:", e)
except ZeroDivisionError as e:
print("0不能作为除数,具体异常信息:", e)
dev(2, 0)
def dev(a, b):
try:
c = float(a)/float(b)
except (ValueError, ZeroDivisionError) as e: # as+变量名:重命名异常信息
print("具体异常如下:", e)
dev(2, 0)
def dev(a, b):
try:
c = float(a)/float(b)
except Exception as e: # as+变量名:重命名异常信息
print("具体异常如下:", e)
dev(2, 0)
def dev(a, b):
try:
c = float(a)/float(b)
except Exception as e: # as+变量名:重命名异常信息
print("具体异常如下:", e)
else:
print("无异常")
dev(2, 0)
try:
<语句>
finally:
关闭浏览器
driver.quit()
# 题目:给你一个非空数组,返回此数组中第三大的数 。如果不存在,则返回数组中最大的数。
def ThirdNum(num_list):
if num_list:
try:
return sorted(list(set(num_list), reverse=False)[2]
except IndexError:
return sorted(num_list, reverse=True)[0]
else:
print("传入数组不能为空")
if __name__ == ‘__main__‘:
alist = [2, 9]
print(ThirdNum(alist))
原文:https://www.cnblogs.com/dy99/p/14872316.html