栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

目录

什么是异常

常见异常

异常的处理

注意事项


什么是异常

异常是一个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超详细:异常类型及处理(含实例)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/828849.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号