程序出现逻辑错误或者用户输入不合法都会引起异常,但这些异常并不是致命的,不会导致程序崩溃死掉。可以利用Python提供的异常处理机制,在异常出现的时候及时捕获,并从内部消化掉。
1. try-except
try-except语句格式如下:
try:
检测范围
except Exception[as reason]:
出现异常(Exception)后的处理代码
举个例子:
一个try语句还可以和多个except语句搭配,分别对感兴趣的异常进行检测处理:
如果expect后面不带东西,那就说明他会抓住所有的异常,如果你无法确定要对哪一类异常进行处理,只是希望在try语句块里一旦出现异常,可以给用户一个“看得懂”的提醒,那么可以这么做。
2. try-finally
如果try语句块中没有出现任何运行时出现的错误,会跳过except语句执行finally语句块的内容。如果出现异常,则会先执行except语句块的内容再执行finally语句块的内容。总之,finally语句块中的内容就是确保无论如何都将被执行的内容。
举个例子:
3. raise
代码能不能自己抛出一个异常呢?答案是可以的,可以使用raise语句抛出一个异常:
抛出的异常还可以带参数,表示异常的解释
这个功能也不是没事找事干,他可以用来检测一些东西
举个例子:检测input数字是否为正数:
在except块中,raise语句可以不带参数地,重新引发发生的异常。
4. asser
断言是一种安全性检查,您可以在完成程序测试后打开或关闭它。
如果结果返回 False ,就会引发一个异常。
如图,1+1不等于3, 返回false,所以出现一个assertion error
我们还可以在assert语句后面加一个逗号和一些提示,代表assertion error弹出的提示
恭喜你看完了!祝你开心!拜拜!