# -*- coding: utf-8 -*- ''' # @Time : 2021/11/24 14:04 # @Author : zhangbinghui # @Description : 针对异常处理的方法;''' # #方法一 try: a * 2 except Exception as e: print(e.args) finally: a = 5 print(a) # 方法二 # 假如我们知道异常坑你是NameError或者TypeError,可以通过以下方法来保证能够捕获; try: b * 2 except NameError as err: print(format(err)) except TypeError as err: print(err.args) finally: b = 5 print(b) ''' 编写方式的其他写法1: try: a*2 except (NameError, TypeError) as err: print(err) print('hello,world') 如果我们连具体的异常类型都不知道呢?这个时候,就可以使用Python中的异常基类Exception来进行捕获: ''' # 方法三:(缺省值表示Exception) try: d * 2 except: print('参数d不存在!!') # 需要注意,当一个程序中try后面跟多个exception时,会匹配第一个可以匹配的异常类型; # 方法四:容易忽略的 import sys try: file_path = r"C:\Users\zhangbinghui\PycharmProjects\anaconda\Data\text" with open(file_path, 'r', encoding='utf-8') as f: print(f.read(50)) except OSError as err: print('OS Error:{}'.format(err)) except: print('Unexpected error:', sys.exc_info()[0]) finally: f.close() # 异常处理的使用需要根据场景来确定,不能不用,不用的话代码的稳定性不高;也不能滥用,滥用的话,会显得代码很冗余;
关于try_except使用
最新推荐文章于 2024-05-22 18:15:33 发布