异常处理的集中方式
#try except try: print(a) except: print('错误已经处理了')
#带有错误基类的try except代码块 try: print(a) except NameError as e: print("错误:%s,已经处理"%e) #错误:name 'a' is not defined,已经处理
#带有不对应错误基类的代码--except后面跟踪的是指定的不对应的错误基类,我们捕捉不到错误,运行代码后,得到的结论是: ''' Traceback (most recent call last): File "D:/doc/git/Practice/module1/exception1.py", line 27, in <module> print(a) NameError: name 'a' is not defined ''' try: print(a) except TypeError as e: print("错误:%s,已经处理"%e)
#带有万能错误基类的代码 try: print(a) except Exception as e: print("错误:%s,已经处理" % e) #错误:name 'a' is not defined,已经处理
''' try except else 代码块 try:放需要监控的代码 except:处理捕捉到的错误异常 else:如果try下面的代码没有发生异常,那么就继续执行else下面的代码块,否则就不执行 ''' try: a=10 except Exception as e: print("错误:%s,已经处理" % e) else: print('a的值是:{0}'.format(a)) #a的值是:10
''' try...except..finally代码块: try:放需要监控的代码 except:处理捕捉到的错误异常 Fianlly:不管try下面的代码是否遇到异常,finally下面的代码一定会执行 应用场景:我们遇到raise以及文件资源管理器的时候,就会采用这种处理方式 ------------------------------------------------------------------------ raise:作用:把异常处理中的错误抛出来,让我们看到traceback信息,一般都是在我们处理完异常信息后, 我们可以吧错误抛出来,在后期的单元测试中生成测试报告用到的比较多 ''' try: #a=10 print(a) except Exception as e: print("错误:%s,已经处理" % e) raise e
1 ''' 2 try...except..finally代码块: 3 try:放需要监控的代码 4 except:处理捕捉到的错误异常 5 Fianlly:不管try下面的代码是否遇到异常,finally下面的代码一定会执行,之后报错会继续 6 应用场景:我们遇到raise以及文件资源管理器的时候,就会采用这种处理方式 7 8 ------------------------------------------------------------------------ 9 raise:作用:把异常处理中的错误抛出来,让我们看到traceback信息,一般都是在我们处理完异常信息后, 10 我们可以把错误抛出来,在后期的单元测试中生成测试报告用到的比较多 11 ''' 12 13 try: 14 #a=10 15 print(a) 16 except Exception as e: 17 print("错误:%s,已经处理" % e) 18 raise e 19 finally: 20 print("我执行的是finally语句") 21 ''' 22 D:\software\install\python3\python.exe D:/doc/git/Practice/module1/exception1.py 23 Traceback (most recent call last): 24 错误:name 'a' is not defined,已经处理 25 File "D:/doc/git/Practice/module1/exception1.py", line 77, in <module> 26 我执行的是finally语句 27 raise e 28 File "D:/doc/git/Practice/module1/exception1.py", line 74, in <module> 29 print(a) 30 NameError: name 'a' is not defined 31 32 '''
''' with opne ...as...上下文管理器 ''' with open('../data/test.txt','r', encoding='utf-8') as file: result=file.read() print(result)