异常处理

异常处理

异常:报错

语法异常(错误都是SyntaxError)

出现SyntaxError: invalid syntax语法无效

if		#  SyntaxError
0 = 1	#  SyntaxError

逻辑异常(错误类型)

出现ZeroDivisionError: division by zero除零错误等

1/0						# ZeroDivisionError

dic = {}
print(dic['skldfj'])	# KeyError

try的使用

       			 	当try不显示错误,错在哪时:
print(1)
try: 		 	# 尝试
    print(3)	# 代码自上而下运行,上面的会运行
    1 / 0  		# 错误不影响其他的代码,报错马上终止try缩进里面的代码
    print(4)
except:			# 除此之外
    pass

# 结果、

					当try显示错误,错在哪时:	
print(1)
try:
    num = input('请输入一个值:')
    dic = {'0': 'a'}
    print(dic[num])
    print(3)
    1 / int(num)
    print(4)
except ZerDivisionError as e:		# try里面的代码出了什么错误,就带用什么错误捕捉;as是把错误赋值给 e
    print('e:', e)
except KeyError as e:				# 可以使用多个except进行捕捉
    print('e:', e)

最重要的语句 以后想捕捉错误语句就用这个

"Exception"

except Exception as e:	# Exception 可以捕捉任意异常,但是语法错误无法捕捉
    print('e:', e)
        				自己写的:
print(1)
try:
    num = input('请输入一个值:')
    lis = [1]
    print(lis[int(num)])
    print(3)
    1 / int(num)
    print(4)
except Exception as e:
    print('e:', e)
print(2)

了解部分;但不代表不重要

					# finally 的基本讲解
f = open('文件名.py', 'r')
data = f.read()
print(data)
del f		# 只删除f的引用
f.close()	# 即删除f的引用,又会命令操作系统关闭外存文件的占用
print(1)
try:
    1 / 1
 #或1 / 0
except Exception as e:
    print('e:', e)
finally:				# 最终的意思,无论报不报错都会打印,讲文件处理的时候会用到
    print(3)
print(2)

assert 断言,最早的时候没有pycharm,那这个就代表调试

a = 1
a += 2
assert a == 3		# 条件成立会跳过,条件错误会报AssertionError错误;断言错误
print(3 )

raise 主动抛错,没有用, 创建框架/创建语言有用 C/C++

raise KeyError('傻逼吧,主动抛错干嘛~')

本节所用单词;常用异常

本文所需单词 翻译
try 尝试
except 除吃以外
assert 断言
raise 主动抛错
常用异常 翻译
valueError 值错误
NameError 名称错误
Index 引索错误
KeyError 字典错误
AttributeError 属性错误
IOEError 输入\输出异常
ImportError 无法导入模块或包
IndentationError 语法错误
SyntaxError python代码非法
TypeError 类型错误
posted @ 2023-09-08 14:19  hanyingshuo  阅读(25)  评论(0)    收藏  举报