python代码写不出来怎么办_Python写代码中异常错误怎么样处理?怎么去优化代码减少错误?...

错误异常

即便Python程序的语法是正确的,在程序运行的过程中,也可能发生错误。运行期检测到的错误被称为异常。如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因。所以高级语言通常都内置了一套try...except...finally...的错误处理机制,Python也不例外。异常处理

当我们某些代码可能会出错时,就可以用try来运行这段代码。如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块。执行完except后,如果有finally语句块,则执行finally语句块,至此,执行完毕。

u=2981503136,3020306783&fm=173&app=49&f=JPEG?w=545&h=452&s=58A43C72033A678A04F8596C020080E0

try语句几种写法

try...except:try语句块没有错误继续执行,有错误就把异常抛出。except语句块中Exception接受错误,取别名并打印出错误信息。

u=1644126967,1405301862&fm=173&app=49&f=JPEG?w=309&h=239&s=E8C0B1445BE4864D14E1690B0000A0C0

try...except...else:

u=2574048183,2405999467&fm=173&app=49&f=JPEG?w=390&h=296&s=F8C0B1445AF6864D0EC12C030000E0C0

try...except...else...finally:

u=2085391435,700318260&fm=173&app=49&f=JPEG?w=425&h=347&s=B0C0B1444AF6864F4E612C09000070C0

try...except...except...else...finally:

错误有很多种类,如果发生了不同类型的错误,应该由不同的except语句块处理。没错,可以有多个except来捕获不同类型的错误。

u=611700988,1427438287&fm=173&app=49&f=JPEG?w=510&h=404&s=70C2B1445AA6824F4668680B0000A0C0

多个except就好比多条小路,小孩走第一条路,老人走第二条路,成年人走第三条路。不同类型的错误都可以归类到一个except Exception as e:,把所有小路合并成一条大路,不分类别都走同一条路。

总结

u=2169775632,1540622422&fm=173&app=49&f=JPEG?w=640&h=461&s=0B94ED06173A77889A7C006E02006073

对比

完整的try语句

u=1650676247,643934877&fm=173&app=49&f=JPEG?w=512&h=429&s=F0C0B1445AA6864D44C86D090000E0C0

简写的try语句

u=2979989625,4161205798&fm=173&app=49&f=JPEG?w=430&h=289&s=78C0B1444AE48A4F04417C0B0000E0C0

把多个except用except Exception as e:代替。

else语句在没有错误的情况下才会执行,所以else语句里面的代码可以放在try里面。

无论有没有错误,最后都会执行finally,程序代码是从上往下执行,所以把finally里面的代码提取出来直接放到try...except...语句后面也可以。

总之try语句里面没有错误就执行,有错误就跳到except语句中。

使用场景有很多网站都把网址http替换https,但是有些网页没有完全替换;请求它们的网址可以在try里面请求http开头的网址,有错误就用except请求https开头网址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值