编程语言世纪之战!Python出征,寸草不生!

编程语言世纪之战!Python出征,寸草不生!

编程语言世纪之战!Python出征,寸草不生!

def main(): try: 1 / 0 # ZeroDivisionError: division by zero except ZeroDivisionError asex: print(ex)if __name__ == '__main__': main() division by zero

1.2 try...except...else...finally

小潘同学刚进来就看见了,自语道:“ try...except 捕获异常谁不会?就会这么屁点东西还好意思秀,切~ 我给你把 格式 补全”

于是乘着小明上厕所的时候,擦掉小明的Code,自己写了一段高大上的Code:

In [2]:

编程语言世纪之战!Python出征,寸草不生!

这时候小明和老师一起进来了,同学们隐约间都听到小明的自夸声:“老师,我可好了,提前预习并且还写了个demo在黑板上呢~”

老师一进门看着黑板就笑了,同学们也笑成一片。小明心想,咦~难道我写错了?定眼一看黑板,气呼呼的回座位了

编程语言世纪之战!Python出征,寸草不生!

# 多个异常捕获def main(): try: print(xiaopan) # NameError: name 'xiaopan' is not defined 1 / 0 # ZeroDivisionError: division by zero except NameError as ex: print(ex) except ZeroDivisionError as ex: print(ex)if __name__ == '__main__': main() name 'xiaopan' is not defined

编程语言世纪之战!Python出征,寸草不生!

# 多个异常捕获的简写(注意哦,是元组哦)def main(): try: print(xiaopan) # NameError: name 'xiaopan' is not defined 1 / 0 # ZeroDivisionError: division by zero except (NameError, ZeroDivisionError) as ex: print(ex)if __name__ == '__main__': main() name 'xiaopan' is not defined

老师赶紧夸了夸小明,心想,哎呦喂终于把这难缠的家伙弄回座位了。

小明走前还不忘说一句:“简写的时候注意格式哦,是 元组 不是逗号分隔”

编程语言世纪之战!Python出征,寸草不生!

def main(): try: 1 / 0 # ZeroDivisionError: division by zero except BaseException as ex: print("base:", ex) except ZeroDivisionError as ex: print(ex)if __name__ == '__main__': main() base: division by zero

如果把父类放第一个,那么 ZeroDivisionError 永远也不会被执行了,其实你如果装了 代码规范提示 插件会提示你的

可以参考我之前写的 vscode设置python3调试环境的扩充部分

来个通用异常捕获的简写(官方不推荐使用简写):

In [6]:

# 直接except就行了def main(): try: 1 / 0 dnt += 1 except: print("屏蔽错误")if __name__ == '__main__': main() 屏蔽错误

老师继续讲到,我们来看一个场景,现在很多在线编辑器,你在他们那些编辑框里写下了代码也是有异常抛出的,这是怎么处理的呢?

编程语言世纪之战!Python出征,寸草不生!

ZeroDivisionError Traceback (most recent call last) <ipython-input-7-15f01346e2d8> in <module>() 9 10 if __name__ == '__main__':---> 11main()<ipython-input-7-15f01346e2d8> in main() 2 def main(): 3 try:----> 41 / 0 # ZeroDivisionError: division by zero 5 except ZeroDivisionError as ex: 6 print(ex) # 写个日志,回头出问题可以深究 ZeroDivisionError: division by zero

编程语言世纪之战!Python出征,寸草不生!

编程语言世纪之战!Python出征,寸草不生!

异常这一块基本上讲完了( logging 模块后面会说)有什么补充的可以说的^_^

小明又进行了C#的代码转换,怎么看都觉得还是C#简单啊,根本不用说啥,代码一贴就秒懂了。。。

In [1]:

编程语言世纪之战!Python出征,寸草不生!

编程语言世纪之战!Python出征,寸草不生!

现在一些需要finally的地方基本上都被using(){}接管了,所以特定场景会使用

先这样了

私信:01 可获得10本py PDF

编程语言世纪之战!Python出征,寸草不生!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值