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

Python的raise用法

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

Python的raise用法

1、什么是异常处理

Python用异常对象(exception object)表示异常情况 遇到错误后 会引发异常。如果异常对象并未被处理或捕捉 程序就会用所谓的回溯(Traceback,一种错误信息)终止执行

2、raise的基本格式

raise的基本格式

raise [exceptionName [(reason)]]

其中 用 [] 括起来的为可选参数 其作用是指定抛出的异常名称 以及异常信息的相关描述。如果可选参数全部省略 则 raise 会把当前错误原样抛出 如果仅省略 (reason) 则在抛出异常时 将不附带任何的异常描述信息。

即以下三种情况

1、raise

2、raise exceptionName

3、raise exceptionName (reason)

参考资料 Python raise用法 超级详细 看了无师自通

3、raise的三种情况 1 、单独一个 raise。

单独的raise会重新触发前一个异常 如果之前没有触发异常 触发RuntimeError。

第一种情况 上下文中捕获的异常

由raise抛出本身代码中存在的异常

def test(num):
 try:
 100/num
 except Exception as res:
 print( 捕获异常完成 )
 raise 
test(0)

运行结果

第二种情况 默认引发RuntimeError 异常
def test(num):
 if num 100:
 raise
 print(num)
test(100)

运行结果

 2 raise 异常名称
def Test1(num):
 try:
 100/num
 except Exception as res:
 print( 捕获异常完成 )
 print(res)
 raise ZeroDivisionError
 print( ----在raise之后 不会执行----- )
 else:
 print( 没有异常 )
Test1(0)

运行结果

其中 异常名称可以为自定义异常名称 

class CustomException(Exception):
 def __init__(self,ErrorInfo):
 self.ErrorInfo ErrorInfo
 def __str__(self):
 return self.ErrorInfo
def Test1(num):
 try:
 raise CustomException( 这是一个自定义的异常 )
 except CustomException as res:
 print(res)
Test1(0)

运行结果

 

 

 

3 、raise 异常名称(异常描述信息)
def Test1(num):
 try:
 100/num
 except Exception as res:
 print( 捕获异常完成 )
 print(res)
 raise ZeroDivisionError( 分母不能为0 )
 print( ----在raise之后 不会执行----- )
 else:
 print( 没有异常 )
Test1(0)

运行结果

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

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

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