python:一分钟学会异常类及处理

python:一分钟学会异常类及处理,第1张

目录

什么是异常

常见异常

异常的处理

注意事项


什么是异常

异常是一个python对象,它会影响正常程序的进行,如果不抛出,会终止程序。

常见异常
BaseException所有异常的基类
IOError输入输出错误
Exception常见错误的基类
ZeroDivisionError取0错误
RuntimeError运行错误

异常的处理  1.try—except—else
  • try是是开始有异常的捕捉块
  • except捕捉不同的异常,执行捕捉该异常后的处理语句
  • else则是没有异常时执行的语句
try:
    f1 = open('filename','w','utf-8')
    f1.write('wwwwwwww')
except IOError:
    print('没有找到')
else:
    print('成功')
    f1.close()

2.try—except—else—finally

  • try是是开始有异常的捕捉块
  • except捕捉不同的异常,执行捕捉该异常后的处理语句
  • else则是没有异常时执行的语句
  • finally是不管有没有异常都要执行的语句
try:
    f1 = open('filename','w','utf-8')
    f1.write('wwwwwwww')
except IOError:
    print('没有找到')
else:
    print('成功')
    f1.close()
finally:
    print('我一定执行')

3.raise抛出异常

创建一个异常的对象,可以层层向上抛出异常

def nozero():
      m = input()
      if 0 not in m:
        return m
      e = Exception("请不要输入0")
      raise e

try:
   pp = nozero()   
   print(pp)
except Exception:
  print(Exception)

注意事项

发生异常时,执行第一个匹配该异常的except子句,所以第一个的异常类通常比第二个子类要小

如ValueError 是 Exception 的子类

a = (2,3,-4,5,6)
total = 0
try:
    
 for e in a:
    if e < 0:
        raise ValueError(str(e) + '数值不能为负')
    else:
        total += e

except ValueError:
    print('数值不能为负')
except Exception:
    print('发生异常')

else:
    print(total)

finally:
    print("这是一个异常的deom")

则结果是:

 如Exception 是 ValueError 的子类

a = (2,3,-4,5,6)
total = 0
try:
    
 for e in a:
    if e < 0:
        raise ValueError(str(e) + '数值不能为负')
    else:
        total += e
except Exception:
    print('发生异常')

except ValueError:
    print('数值不能为负')


else:
    print(total)

finally:
    print("这是一个异常的deom")

则结果是:

 JAVA的异常与python相似:

JAVA超详细:异常类型及处理(含实例)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/730944.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存