python处理异常的关键字_如果抛出异常应用哪些关键字

python处理异常的关键字_如果抛出异常应用哪些关键字一.抛出异常Python用异常对象(exceptionobject)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行。raise语句Python中的raise关键字用于引发一个异常,基本上和C#和Java中的throw关键字相同,如下所示:importtracebackdefthrow_error():…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一. 抛出异常

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

raise 语句

Python中的raise 关键字用于引发一个异常,基本上和C#和Java中的throw关键字相同,如下所示:

import traceback

def throw_error():

raise Exception(“抛出一个异常”)#异常被抛出,print函数无法执行

print(“飞天猪”)

throw_error()

#运行结果:

”’Traceback (most recent call last):

File “C:\Users\Administrator\Desktop\systray.py”,line 7,in

throw_error()

File “C:\Users\Administrator\Desktop\systray.py”,line 4,in throw_error

raise Exception(“抛出一个异常”)#异常被抛出,print函数无法执行

Exception: 抛出一个异常”’

raise关键字后面是抛出是一个通用的异常类型(Exception),一般来说抛出的异常越详细越好

二.传递异常:

捕捉到了异常,但是又想重新引发它(传递异常),可以使用不带参数的raise语句即可:

class MufCalc(object):

m = False

def calc(self,exp):

try:

return eval(exp)

except ZeroDivisionError:

if self.m:

print(“cool”)

else:

raise

app = MufCalc()

app.calc(2/0)

三.自定义异常类型:

Python中也可以自定义自己的特殊类型的异常,只需要要从Exception类继承(直接或间接)即可:

class MyError(Exception):

pass

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180765.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SBC应用「建议收藏」

    SBC应用「建议收藏」在VoIP呼叫中主要使用会话发起协议(SIP),H.323和MGCP呼叫信令协议,Sbc在主叫和被叫的信令/媒体路径之间引入。通常,SBC隐藏网络拓扑,接管呼入并生成到新的请求分支到被叫。技术上叫做背靠背B2BUA;这样做的好处是信令流和媒体流都能得到SBC控制。方便处理录音、生成保持背景音乐等媒体相关的处理;假如SBC不具备媒体服务的处理能力,也能够转发媒体流…

    2025年8月28日
    4
  • 单射双射与满射

    单射双射与满射单射(injection):每一个x都有唯一的y与之对应;满射(surjection):每一个y都必有至少一个x与之对应;双射(又叫一一对应,bijection):每一个x都有y与之对应,每一个y都有x与之对应。把x比作萝卜,y比作坑:单射就是一个萝卜一个坑,有的坑有可能没萝卜;满射就是所有坑都有萝卜,有的坑可能有不止一个萝卜;双射就是严格的一个萝卜一个坑,一个坑一个萝卜,所有萝卜都有坑,所有坑都有萝卜。…

    2022年6月6日
    38
  • 记一次 Centos7 安装使用 PostWoman

    记一次 Centos7 安装使用 PostWoman一、简介官网:https://www.worldlink.com.cn/osdir/postwoman.htmlDEMO:https://postwoman.io/GITHUB下载:https://github.com/liyasthomas/postwoman二、使用工具1、操作系统Centos7.4x64Minimal1708安装1台虚拟机:2G内存1…

    2025年7月5日
    2
  • jQuery的弹出窗口插件colorbox

    jQuery的弹出窗口插件colorbox

    2021年8月8日
    53
  • 斯坦福大学机器学习——EM算法求解高斯混合模型

    斯坦福大学机器学习——EM算法求解高斯混合模型EM算法(Expection-Maximizationalgorithm,EM)是一种迭代算法,通过E步和M步两大迭代步骤,每次迭代都使极大似然函数增加。但是,由于初始值的不同,可能会使似然函数陷入局部最优。下面来谈谈EM算法以及其在求解高斯混合模型中的作用。

    2022年6月28日
    30
  • ddns dnspod_dns和ddns的区别

    ddns dnspod_dns和ddns的区别NBNS——–NetBIOS漏洞【询问主机名】NBNS是网络基本输入/输出系统(NetBIOS)名称服务器的缩写。它也是TCP/IP协议的一部分。它负责将计算机名转化为对应的IP。其中,NamequeryNB是请求包,NamequeryresponseNB是响应包。双方的端口号均为137。NBNS在WIndows用的较少,Windows普遍采用LLMNR协议。在一个局域网中的两台主机,主机A的ip是:10.30.59.77,Mac地址为:HonHaipr_81:74:8A。主

    2022年8月31日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号