异常处理
语法异常
(错误都是SyntaxError)
if # SyntaxError
0 = 1 # SyntaxError
try: #尝试
num = input('输入一个值')
print(3) #代码自上而下,上面会运行
1/int(num) #错误不影响其他的代码,报错马上终止try缩进里面的代码
print(4)
except ZeroDivisionError as e: #除此之外 #try里面的代码出了什么错误,就待用什么错误捕捉
print(e) #输出 division by zero as将错误赋值给e
print(1)
try: # 尝试
num = input('输入一个值') # 123124
dic = {'0': 'a'}
print(dic[num]) # dic['123124']
print(3) # 代码自上而下,上面会运行
1 / int(num) # 错误不影响其他的代码,报错马上终止try缩进里面的代码
print(4)
except ZeroDivisionError as e:
print('e:', e)
except KeyError as e: # 可以写多个except捕捉多个异常
print('e:', e)try:
if
except Exception as e: # 语法错误无法捕捉
print(e)
最重要的,以后想要捕捉异常就用这个,只要记住这个就够用了
except Exception as e: # Exception可以捕捉任意异常
print('e:', e)
接下来讲的也是了解部分
finally
print(1)
try: # 尝试
1 / 1
except Exception as e: # Exception可以捕捉任意异常
print('e:', e)
finally: # 最终的意思,无论报不报错都会打印 明天讲文件处理的时候带着你用
print(3)
print(2)
open read close
f = open('test.py','r')
data = f.read()
try:
1/0
print(data)
# del f # 只删掉了f,变量名,对操作系统的占用不会关闭
except Exception as e:
print('e:',e)
finally:
f.close() # 即删除f的引用,又会命令操作系统关闭对外存文件的占用
assert 断言,最早的时候没有pycharm,那这个做调试,一辈子都用不上了
a = 1
a += 1
assert a == 3 # 条件成立会跳过,条件错误会报AssertionError错误
print(3)
raise 主动抛错,没有用. 创建框架/创建语言 C/C++ 有用
print(1)
raise ZeroDivisionError('傻逼吧,主动抛错干嘛')
print(2)
基本没用
标签:Exception,错误,处理,except,try,num,print,异常 From: https://www.cnblogs.com/JunLeewarehouse/p/17777347.html