python 抛出异常与自定义异常raise

2023-11-07

使用raise抛出异常 当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常。一旦执行了raise语句,raise后面的语句将不能执行。 演示raise用法

?
1
2
3
4
5
6
7
8
try :
      s = None
      if s is None :
          print "s 是空对象"
          raise NameError     #如果引发NameError异常,后面的代码将不能执行
      print len (s)
except TypeError:
      print "空对象没有长度"

  

自定义异常 python允许程序员自定义异常,用于描述python中没有涉及的异常情况,自定义异常必须继承Exception类,自定义异常按照命名规范以"Error"结尾,显示地告诉程序员这是异常。自定义异常使用raise语句引发,而且只能通过人工方式触发。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from __future__ import division
 
class DivisionException(Exception):
       def __init__( self , x, y):
             Exception.__init__ ( self , x, y)       #调用基类的__init__进行初始化
             self .x = x
             self .y = y
 
if __name__ = = "__main__" :
       try :
             x = 3
             y = 2
       if x % y > 0 :                               #如果大于0, 则不能被初始化,抛出异常
             print x / y
             raise DivisionException(x, y)
except DivisionException,div:                     #div 表示DivisionException的实例对象
       print "DivisionExcetion: x/y = %.2f" % (div.x / div.y)

 

 

转载于:https://www.cnblogs.com/hu-yewen/p/6507491.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 抛出异常与自定义异常raise 的相关文章

  • Erlang:到 Python 实例的端口没有响应

    我正在尝试通过 Erlang 端口与外部 python 进程进行通信 首先 打开一个端口 然后通过 stdin 将消息发送到外部进程 我期待在进程的标准输出上得到相应的答复 我的尝试如下所示 open a port Port open po
  • Flask-SocketIO redis 订阅

    我在用着https github com miguelgrinberg Flask SocketIO https github com miguelgrinberg Flask SocketIO实现 WebSocket 服务器 我需要从另一
  • 从 torch.autograd.gradcheck 导入 zero_gradients

    我想复制代码here https github com LTS4 DeepFool blob master Python deepfool py 并且我在 Google Colab 中运行时收到以下错误 ImportError 无法导入名称
  • Python Requests 库重定向新 url

    我一直在浏览 Python 请求文档 但看不到我想要实现的任何功能 在我的脚本中我设置allow redirects True 我想知道该页面是否已重定向到其他内容 新的 URL 是什么 例如 如果起始 URL 为 www google c
  • Python 内置对象的 __enter__() 和 __exit__() 在哪里定义?

    我读到每次使用 with 时都会调用该对象的 enter 和 exit 方法 我知道对于用户定义的对象 您可以自己定义这些方法 但我不明白这对于 打开 等内置对象 函数甚至测试用例是如何工作的 这段代码按预期工作 我假设它使用 exit 关
  • Python Selenium 打印另存为 PDF 等待文件名输入

    我正在尝试通过打印对话框将网站另存为 PDF 我的代码允许我另存为pdf 但要求我输入文件名 我不知道如何将文件名传递到弹出框 附上我的代码 import time from selenium import webdriver import
  • 使用 Pandas 从 csv 文件读取标题信息

    我有一个包含 14 行标题的数据文件 在标头中 有经纬度坐标和时间的元数据 我目前正在使用 pandas read csv filename delimiter header 14 读取文件 但这只是获取数据 我似乎无法获取元数据 有人知道
  • 如何用函数记录一个文件?

    我有一个带有函数 lib py 但没有类的python 文件 每个函数都有以下样式 def fnc1 a b c This fonction does something param a lalala type a str param b
  • 使用 Tkinter 打开网页

    因此 我的应用程序需要能够打开其中的单个网页 并且它必须来自互联网并且未保存 特别是我想使用 Tkinter GUI 工具包 因为它是我最熟悉的工具包 最重要的是 我希望能够在窗口中生成事件 例如单击鼠标 但无需实际使用鼠标 有什么好的方法
  • 会话数据库表清理

    该表是否需要清除或者由 Django 自动处理 Django 不提供自动清除功能 然而 有一个方便的命令可以帮助您手动完成此操作 Django 文档 清除会话存储 https docs djangoproject com en dev to
  • 列表推导式和 for 循环中的 Lambda 表达式[重复]

    这个问题在这里已经有答案了 我想要一个 lambda 列表 作为一些繁重计算的缓存 并注意到这一点 gt gt gt j for j in lambda i for i in range 10 9 9 9 9 9 9 9 9 9 9 Alt
  • 无法通过 Android 应用程序访问我的笔记本电脑的本地主机

    因此 我在发布此内容之前做了一项研究 我发现的解决方案不起作用 更准确地说 连接到我的笔记本电脑的 IPv4192 168 XXX XXX 没用 连接到10 0 2 2 加上端口 不起作用 我需要测试使用 Django Rest 框架构建的
  • Python 在哪些系统上不使用 IEEE-754 双精度浮点数

    Python 对 IEEE 754 浮点运算进行了各种引用 但不保证1 https docs python org 3 tutorial floatingpoint html 2 https pythondev readthedocs io
  • Flymake的临时文件可以在系统临时目录下创建吗?

    我目前正在使用以下代码在 emacs 中连接 Flymake 和 Pyflakes defun flymake create temp in system tempdir filename prefix make temp file or
  • Snakemake:将多个输入用于具有多个子组的一个输出的规则

    我有一个工作管道 用于下载 比对和对公共测序数据执行变体调用 问题是它目前只能在每个样本的基础上工作 i e作为每个单独测序实验的样本 如果我想对一组实验 例如样本的生物和 或技术复制 执行变体调用 则它不起作用 我试图解决它 但我无法让它
  • Python脚本从字母和两个字母组合生成单词

    我正在编写一个简短的脚本 它允许我使用我设置的参数生成所有可能的字母组合 例如 b a 参数 单词 5 个字母 第三 第五个字母 b a 第一个字母 ph sd nn mm 或 gh 第二 第四个字母 任意元音 aeiouy 和 rc 换句
  • 如何从邻接表高效创建稀疏邻接矩阵?

    我正在与last fm http labrosa ee columbia edu millionsong lastfm数据集来自百万歌曲数据集 http labrosa ee columbia edu millionsong 数据以一组 j
  • 从给定的项目列表创建子列表

    我首先要说的是以下问题不是为了家庭作业目的即使因为我几个月前就完成了软件工程师的工作 无论如何 今天我正在工作 一位朋友向我询问了这个奇怪的排序问题 我有一个包含 1000 行的列表 每行代表一个数字 我想创建 10 个子列表 每个子列表都
  • SQLAlchemy 与 count、group_by 和 order_by 使用 ORM

    我有几个函数需要使用 count group by 和 order by 进行一对多连接 我使用 sqlalchemy select 函数生成一个查询 该查询将返回一组 id 然后我对其进行迭代以对各个记录执行 ORM 选择 我想知道是否有
  • py2exe ImportError:没有名为 的模块

    我已经实现了一个名为 myUtils 的包 它由文件夹 myUtils 文件 组成 init py 和许多名称为 myUtils 的 py 文件 该包包含在 myOtherProject py 中 当我从 Eclipse 运行它们时可以找到

随机推荐

  • 【CV大模型SAM(Segment-Anything)】如何一键分割图片中所有对象?并对不同分割对象进行保存?

    之前的文章 CV大模型SAM Segment Anything 真是太强大了 分割一切的SAM大模型使用方法 可通过不同的提示得到想要的分割目标 中详细介绍了大模型SAM Segment Anything 根据不同的提示方式得到不同的目标分
  • [转]QNX_IDE使用cin输入变量不能编译通过的解决方法

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com 在使用QNX
  • 去掉有定位的left值

    left initial 一开始就是初始 默认值 的意思 就可以解决定位的left啦 转载于 https www cnblogs com renxiao1218 p 11611101 html
  • Flink运行时之批处理程序生成计划

    批处理程序生成计划 DataSet API所编写的批处理程序跟DataStream API所编写的流处理程序在生成作业图 JobGraph 之前的实现差别很大 流处理程序是生成流图 StreamGraph 而批处理程序是生成计划 Plan
  • Red Hat Linux 命令Crontab的使用方法

    Red Hat Linux 命令Crontab的使用方法1 cron是一个linux下的定时执行工具 可以在无需人工干预的情况下运行作业 由于Cron 是Linux的内置服务 但它不自动起来 可以用以下的方法启动 关闭这个服务 sbin s
  • Pytorch推出fx,量化起飞

    本文首发于公众号 没事来逛逛 Pytorch1 8 发布后 官方推出一个 torch fx 的工具包 可以动态地对 forward 流程进行跟踪 并构建出模型的图结构 这个新特性能带来什么功能呢 别的不说 就模型量化这一块 炼丹师们有福了
  • Linux下怎么让挂起的(suspend or stopped)进程恢复执行(resume)

    今天在linux安装app的时候 安装的进度长时间停止不前 于是我使用Ctrl Z 打断了安装 然后又运行了一遍安装的命令 这个时候 提示了警告 说这个安装已经安排了但是现在的状态是suspend的 一时间 我想要通过PID把这个进程差掉
  • Windows下 的MySQL安装、配置以及中文字符集编码设置

    一 MySQL安装 第一步 双击程序包 会弹出如下图 第二步 点击Next之后 出现如下图 第三步 选完自己安装的版本 点击Next 第四步 点击Next之后 出现如下图 第五步 点击两次Next之后 显示如下图 根据自己需求改动 一般情况
  • 软件设计师笔记公告(备考攻略)

    软件设计师笔记公告 上午题 下午题 先上成绩 今天软考成绩出来了 很高兴我一次拿下 非常感谢b站up主zst 2001 zst 2001主页链接 我一次性通过很大程度上是因为zst 2001的帮助 于此同时 你们能看到我这个笔记也要感谢up
  • Python 标准库之 xml.etree.ElementTree 简介

    文章来源 https www cnblogs com ifantastic archive 2013 04 12 3017110 html 简介 Element类型是一种灵活的容器对象 用于在内存中存储结构化数据 注意 xml etree
  • pico park无法连接至远程服务器,pico park怎么联机玩?pico park怎么邀请朋友一起玩?[多图]...

    pico park是最近这几天比较火爆的一款游戏了 想必与很多的玩家们 都想与自己的好友一起联机作战 但是又不知道该怎么邀请朋友一起玩 各位新手玩家们 不用太着急 小编这就为大家带来了一套与朋友一起联机玩的教程 只要轻松两步 便可以解决大家
  • C# 命令行参数分割

    CommandLineToArgvW 函数 DllImport shell32 dll SetLastError true private static extern IntPtr CommandLineToArgvW MarshalAs
  • OpenGL ES之十一——绘制3D图形

    概述 这是一个系列的Android平台下OpenGl ES介绍 从最基本的使用最终到VR图的展示的实现 属于基础篇 后面针对VR视频会再有几篇文章 属于进阶篇 OpenGL ES之一 概念扫盲 OpenGL ES之二 Android中的Op
  • Tomcat执行startup.bat出现闪退的可能原因

    问题描述 Tomcat再解压之后 点击startup bat出现闪退 以下是我在网上搜索的解决方案 1 端口被占用 到tomcat安装目录的logs文件夹下查看日志文件 log结尾 看是不是有 严重 StandardServer await
  • Spring Data ElasticSearch analyzer 定义 @Filed失效 @Mapping失效 创建索引 无效 解决办法 ElasticsearchRestTemplate

    ES版本 7 x 首先上失效原因 SpringDataElasticsearch版本变动频繁 很多网上的代码失效 有很多方法标记为过时 ElasticsearchRestTemplate不读 Filed注解 所以你在 Field里面写再多代
  • MFC的SendMessage与PostMessage的区别

    一 SendMessage 同步操作 SendMessage 是一个同步函数 它会将消息发送到指定的窗口 并等待该窗口的消息处理过程完成 然后返回 这意味着它会阻塞当前线程 直到消息处理完成 直接调用 SendMessage 会将消息直接传
  • 图论5(Leetcode1376.通知所有员工所需的时间)

    答案 这是官方答案 我写的超时了 我不会树结构的存储 这里用了Map 学到了 class Solution public int numOfMinutes int n int headID int manager int informTim
  • 【Flutter】【package】pin_code_fields 漂亮的验证码输入框

    文章目录 前言 一 pin code fields 是什么 二 使用步骤 1 引入库 2 使用 1 基础功能 2 基础参数功能解析 3 部分功能的特殊说明 1 键盘右下角的功能按键样式 2 inputFormatters 输入内容的检验和限
  • WEB信息收集

    责任声明 本文章仅供学习交流使用 如有利用进行非法行为 上传者不承担任何责任 使用者后果自负 目录 一 域名收集 利用whois 阿里云 站长之家 全球查询 IP138网站 ICANN LOOKIUP 爱站网 VirusTotal 二 备案
  • python 抛出异常与自定义异常raise

    使用raise抛出异常 当程序出现错误 python会自动引发异常 也可以通过raise显示地引发异常 一旦执行了raise语句 raise后面的语句将不能执行 演示raise用法 1 2 3 4 5 6