当前位置:   article > 正文

Python中的异常处理_raise exception

raise exception

异常

1.什么是异常

【异常在python中是一个对象】

异常简单理解,就是非正常,没有达到预期目标。
异常是一个事件,并且这个异常事件在我们程序员的运行过程中出现,会影响我们程序正常执行。

异常分两种:

  1. 语法错误导致的异常

  2. 逻辑错误导致的异常

#在程序无法正常运行处理时,就会出现一个异常,在python中异常是一个对象,表示一个错误。
#例如:获取一个不存在的索引
a = [1,2,3]
print(a[5])
>>>Traceback (most recent call last):
   File "D:/学习笔记/新职课/第五章-模块,包与库训练/第六节/test.py", line 2, in <module>
       print(a[5])
   IndexError: list index out of range
#IndexError:异常类
#list index out of range   异常信息
#不同的异常有不同的类
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2.如何处理异常

  • 如果错误发生的情况是可以预知的,那么就可以使用流程控制进行预防处理

    a,b = 2, '3'
    res = a + b
    print(res)
    #此时会报异常,类为TypeError
    
    #此时错误的发生条件是可以预知的,因为如果要做+运算,要保证a和b可以相加
    a,b = 2, '3'
    if isinstance(b,int):
        print(a+b)
    #通过流程控制进行预防处理
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 如果错误的发生条件不可预知,就可以使用 try: … except: … 在错误发生时进行处理

    语法:
    try:
        可能发生异常错误的代码
    except: 
    	如果发生异常则进入 except 代码块进行处理
    
    • 1
    • 2
    • 3
    • 4
    • 5
    '''
    假设读取的文件不存在,会发生错误,可以使用两种方式进行处理,
     1. 可以在文件读取前先判断当前的文件是否存在
     2. 也可以使用try: ... except: ... 在错误发生时进行处理
    注意:try: ... excep: ... 是在错误发生后进行的处理。和if有着根本性的区别。
    if是避免了错误的发生,
    try: ... excep: ...是错误确实发生了,但是程序还可以继续运行
    '''
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

3.try: … except: … 详细用法

  • 使用try: … except: … 处理指定的异常。如果引发了非指定的异常,则无法处理

    try:
        s1 = 'hello'
        int(s1) # 会引发 ValueError
    except ValueError as e:
    # except IndexError as e:  #如果引发了非指定的异常,则无法处理
        print(e)
    >>>invalid literal for int() with base 10: 'hello'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 多分支处理异常类:不同的异常会走向不同的except处理

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/205138?site
推荐阅读
相关标签
  

闽ICP备14008679号