学习笔记

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/numexcept Exception as res:print("捕获异常完成")raise
test(0)

运行结果:

第二种情况:默认引发RuntimeError 异常:

def test(num):if num == 100:raiseprint(num)
test(100)

运行结果:

2)raise 异常名称

def Test1(num):try:100/numexcept Exception as res:print("捕获异常完成")print(res)raise ZeroDivisionErrorprint("----在raise之后,不会执行-----")else:print("没有异常")
Test1(0)

运行结果:

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

class CustomException(Exception):def __init__(self,ErrorInfo):self.ErrorInfo = ErrorInfodef __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/numexcept Exception as res:print("捕获异常完成")print(res)raise ZeroDivisionError("分母不能为0")print("----在raise之后,不会执行-----")else:print("没有异常")
Test1(0)

运行结果

Python的raise用法相关推荐

  1. Python中raise用法

    是否可以在程序的指定位置手动抛出一个异常?答案是肯定的,Python 允许我们在程序中手动设置异常,使用 raise 语句即可. 读者可能会感到疑惑,即我们从来都是想方设法地让程序正常运行,为什么还要 ...

  2. Python 异常处理--raise函数用法

    Python 异常处理--raise函数用法 参考文章: (1)Python 异常处理--raise函数用法 (2)https://www.cnblogs.com/darkgui34/p/405074 ...

  3. python里raise是什么意思_Python中raise与raise...from之间有何区别?

    本篇文章给大家带来的内容是关于Python中raise 与 raise ... from之间有何区别?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 起步 Python 的 raise ...

  4. Python 中 raise 和 raise/from 的区别

    Python 中 raise 和 raise/from 的使用方法 文章目录 Python 中 raise 和 raise/from 的使用方法 0. 参考资料 1. 代码比较 2. 用法解释 2.1 ...

  5. Python finally的用法

    参考 Python finally的用法 - 云+社区 - 腾讯云 try语句有一个可选finally子句,用于定义在所有情况下都必须执行的finally操作 try:raise KeyboardIn ...

  6. python raise_python raise

    当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常.一旦执行了raise语句,raise后面的语句将不能执行. 演示raise用法 try: s = None if s i ...

  7. Python3中raise用法

          Python中raise语句支持强制触发指定的异常.       raise语法: raise [EXPRESSION [from EXPRESSION]]       如果raise后未 ...

  8. 简单介绍Python中异常处理用法

    这篇文章主要给大家分享的是 Python中异常处理用法,为了保证程序的健壮性与容错性,即在遇到错误时候程序不会崩溃,我们需要对异常进行处理,下面来看看文章对此的用法,需要的朋友可以参考一下 为了保证程 ...

  9. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

最新文章

  1. Libzip 版本过低或提示reinstall解决方法
  2. 新版rust怎么拆除建筑_市政工程造价怎么学 龙岗园林市政造价课程
  3. Windows Live Messenger 8.5 抢先试用
  4. IOS内存的一篇文章
  5. mybatisplus修改单个属性_第二节 官封弼马温——类的属性
  6. [html] 编写html时,你有没有用过Emmet插件呢?说说它的优点及规则有哪些?
  7. P2661 信息传递 二分图的最小环
  8. java分隔符 字符串_我们如何使用Java分割带有任何空白字符作为分隔符的字符串?...
  9. 网络数据包收发流程:从驱动到协议栈
  10. 名编辑电子杂志大师教程 | 文本复制按钮
  11. 编程语言中的句柄是什么?
  12. html复制粘贴的文字自动换行,word中复制的文字出现自动换行怎么办
  13. ICE java实现helloworld
  14. C# 消息盒子 右下角显示窗体
  15. 2020最新PHP面试题(附带答案)
  16. 量化投资之工具篇一:Backtrader从入门到精通(3)-Cerebro源代码解读
  17. Ad hoc网络路由协议概述4——按需路由协议(2)AODV协议 (Ad-hoc on-demand distance vector algorithm protocol)
  18. msvcr110.dll系统文件丢失解决方案
  19. XiaoHu日志 11/22~12/3
  20. 韩信点兵(C语言实现)

热门文章

  1. 痛点大师史玉柱的产品黑魔法:如何做特权
  2. 移动互联网时代的“随手记”
  3. 《支撑处理器的技术——永无止境地追求速度的世界》图书信息
  4. 具备全局观念,系统解决问题
  5. 快速搭建react项目
  6. 2020年第十届C/C++ B组第一场蓝桥杯省赛真题第一题:跑步训练(5分
  7. 支付宝 自动发货 php,ecshop支付宝自动发货接口用法示例
  8. Element el-date-picker 日期选择器详解
  9. 提升苹果电脑速度的10个小技巧
  10. 艺点动画教你如何制作乒乓球动画