15-异常处理

异常处理的集中方式

#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)

猜你喜欢

转载自www.cnblogs.com/yxtest/p/12642206.html