异常处理

发布时间 2023-09-08 14:21:57作者: hanyingshuo

异常处理

异常:报错

语法异常(错误都是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('傻逼吧,主动抛错干嘛~')