返回顶部
首页 > 资讯 > 后端开发 > Python >python3的异常处理
  • 293
分享到

python3的异常处理

异常 2023-01-31 08:01:29 293人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

在python运行的时候难免出现一些异常,但是Python在遇到异常的时候就会停止了,但是有时候我们需要python即使在有异常的时候也需要继续向下运行,这个时候我们就需要用到异常处理了.1.简单的异常处理如: print(a) Trace

python运行的时候难免出现一些异常,但是Python在遇到异常的时候就会停止了,但是有时候我们需要python即使在有异常的时候也需要继续向下运行,这个时候我们就需要用到异常处理了.
1.简单的异常处理如:

print(a)
Traceback (most recent call last):
  File "<input>", line 2, in <module>
NameError: name 'a' is not defined

我们在没有定义变量a的时候它就会报错,报错是NameError
我们如何让他这样也继续运行下去呢?
运用下异常处理就行了!

try:
    print(a)
except NameError:
    print('NameError 意思就是没有这个变量啊')

NameError 意思就是没有这个变量啊

这样即使我们没有定义a这个变量,但是这个程序也能继续往下运行

2.多个异常一起处理:

try:
    print(a)
    lo
        print('试一下异常之后的程序会不会被运行!')
except (NameError,SyntaxError) as eor:
    print('这个的报错是: %s'%eor)

这个的报错是: name 'a' is not defined

这里没有定义a所以是NameError,这个异常处理也是有先后顺序的,如果在异常之后还有程序的话将不会被运行的

a='hello'
try:
    print(a)
    lo
        print('试一下异常之后的程序会不会被运行!')
except (NameError,SyntaxError) as eor:
    print('这个的报错是: %s'%eor)

hello
这个的报错是: name 'lo' is not defined

小结:
1.异常之后的程序不会被运行;
2.报错的信息可能一样,但是报错的类型是不一样的
如报错信息都是'name 'lo' is not defined' 但是一个是NameError,一个是SyntaxError

3.通用的异常处理
有的时候我们不知道这个程序会有什么报错,这个时候我们就需要用到Execption
这个是所有的报错都是它的子类,它就包括了所有的报错

try:
    print(a)
except Exception as err:
    print(err)

name 'a' is not defined

4.如果我们的程序没有异常就执行某个语句,用else

try:
    print('a')
except NameError as err:
    print('这个是NameError语法错误!')
except SyntaxError as err:
    print('这个是SyntaxError语法错误!')
else:
    print('这个没错!')

a
这个没错!

5.无论如何都会执行的finally

try:
    print('hello')
except NameError:
    print('这个是NameError!')
except SyntaxError:
    print('这个是SyntaxError!')
finally:
    print('我可不管是对是错我都会执行的!')

hello
我可不管是对是错我都会执行的!

6.异常处理中抛出的异常
这个的定义就是,程序在运行的过程中可能会出现的异常,我们对着异常进行处理之后(比如记录下来),然后再把这个异常正常的抛出来!

def exce(a,b):
    try:
        return a/b
    except Exception as result:
        print('我这里记录下了错误,错误是 --->%s'%result)
        print('我这里直接抛出了异常')
        raise
exce(5,0)

我这里记录下了错误,错误是 --->division by zero
Traceback (most recent call last):
我这里直接抛出了异常
  File "C:/Users/huxia/Desktop/py_script/28/temp.py", line 427, in <module>
    exce(5,0)
  File "C:/Users/huxia/Desktop/py_script/28/temp.py", line 422, in exce
    return a/b
ZeroDivisionError: division by zero

如果我不抛出异常就没问题了

def exce(a,b):
    try:
        return a/b
    except Exception as result:
        print('我这里记录下了错误,错误是 --->%s'%result)
        print('我这里直接抛出了异常')
        #raise
exce(5,0)

我这里记录下了错误,错误是 --->division by zero
我这里直接抛出了异常

7.如果有的时候我们需要选择性的抛出异常可以这样写:

class startE:
    def __init__(self,choose):
        self.choose = choose
    def exce(self,a,b):
        try:
            return a/b
        except Exception as result:
            if self.choose:
                print('我这里记录下了错误,错误是 --->%s'%result)
            else:
                print('我这里直接抛出了异常')
                raise
print('我这里要打印错误日志')
test = startE(True)
test.exce(5,0)
print('我不打印错误日志,我要抛出异常!')
test = startE(False)
test.exce(5,0)

这样我们如果不需要抛出异常就为True,如果我们要抛出异常就为False

--结束END--

本文标题: python3的异常处理

本文链接: https://lsjlt.com/news/193031.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python3的异常处理
    在python运行的时候难免出现一些异常,但是python在遇到异常的时候就会停止了,但是有时候我们需要python即使在有异常的时候也需要继续向下运行,这个时候我们就需要用到异常处理了.1.简单的异常处理如: print(a) Trace...
    99+
    2023-01-31
    异常
  • python3:Python 异常处理以
    try …except…else 语句 是处理异常公式, try 是有可能抛异常的代码块, except 抓取异常的类型, else 是指当没有抓到抛错,就运行这块代码。请看下下边的例子: try: print("抓取的有...
    99+
    2023-01-31
    异常 Python
  • Python3的异常捕获和处理
    1.try 和 except 这是异常语句。使用了这个可以对报错的代码,也会继续 执行下去而不会报错,不执行后面的代码。try是捕获异常,在try里的代码执行如果出错后,就会执行在execpt里的代码。try: print(2/0)...
    99+
    2023-01-31
    异常
  • python3 与python2 异常处理的区别与联系
    在python2.x中 ,异常是这样的处理的,异常基类后面加一个逗号“ ,” 然后跟着异常类型 import traceback try: 1/0 except Exception , err:...
    99+
    2022-06-04
    异常 区别
  • PHP异常处理:处理异步操作中的异常
    处理异步操作中的 php 异常需要:协程中,使用 try-catch-finally 语法捕获异常。promise 中,使用 then() 和 catch() 方法处理异常。实战案例:使...
    99+
    2024-05-14
    异常处理 异步处理 swoole
  • 异常--python异常处理
    --****--python 异常处理------------------------------------------------------------------------------****DB API中定义了一些数据库操作的错...
    99+
    2023-01-31
    异常 python
  • python3的异常类型
    BaseException  +-- SystemExit  +-- KeyboardInterrupt  +-- GeneratorExit  +-- Exception       +-- StopIteration       +--...
    99+
    2023-01-31
    异常 类型
  • 异常处理
      程序中有两种错误     1.语法错误(这种错误,根本过不了Python解释器的语法检测,必须在程序执行前就改正) #错误示范一 if #错误示范二 print("adad" 语法错误     2.逻辑错误 # 用...
    99+
    2023-01-30
    异常
  • WCF的异常处理
    介绍 WCF(Windows Communication Foundation) -异常处理:一般Exception的处理,FaultException和FaultException...
    99+
    2024-04-02
  • python的异常处理
    1.1什么是异常?异常时程序发生错误的信号,一旦程序出错机会产生一种类型的异常,1.2为什么要处理异常?为了保证程序的健壮性1.3怎么处理异常?语法错误:程序运行前就应该解决逻辑错误:try…except1.4五种异常处理语法:异常处理一:...
    99+
    2023-01-31
    异常 python
  • Java JSP 异常处理:处理错误和异常
    异常处理在 Java 和 JSP 编程中至关重要,因为它允许应用程序优雅地处理错误和异常情况,从而提高健壮性和用户体验。 JSP 中的异常处理 JSP 提供了三种主要机制来处理异常: page 指令:该指令指定处理某个页面上所有未处理异...
    99+
    2024-03-15
    JSP
  • PHP 异常处理:对错误和异常的全面处理
    异常处理是 php 中处理错误和异常的重要机制,提高了应用程序的健壮性和稳定性。错误由解释器抛出,表示无法恢复的严重问题。异常由代码抛出,表示可恢复的运行时问题。php 提供了 erro...
    99+
    2024-05-11
    php 异常处理
  • oracle异常处理
    语句执行过程中,由于各种原因使得语句不能正常执行,可能会造成更大错误或整个系统的崩溃,所以PS/SQL提供了异常(exception)着一处理的方法来防止此类情况的发生。在代码运行的过程中无论何时发生错误,PL/SQL都能控制程序...
    99+
    2016-06-04
    oracle异常处理
  • emqx异常处理
    启动异常 通过解压tar压缩包安装后通过 ./bin/emqx start 启动报错 WARNING: Default (insecure) Erlang cookie is in use. W...
    99+
    2023-10-10
    服务器 运维
  • SpringMVC异常处理
    8.SpringMVC异常处理 1.1 异常处理的思路 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试等手段...
    99+
    2023-09-01
    spring java mybatis
  • Python——异常处理
    文章目录 异常Python中的异常类捕获与处理异常自定义异常类with语句断言 异常 异常是在程序执行过程中发生的影响程序正常执行的一个事件。异常是Python对象,当Python无法...
    99+
    2023-09-04
    python 开发语言 pycharm
  • urllib异常处理
    urllib的error模块定义了由 request模块产生的异常。如果出现了问题,request 模块便会抛出error模块中定义的异常。1 URLErrorURLError类来自urllib库的error模块,它继承自OSError类,...
    99+
    2023-01-30
    异常 urllib
  • Python 异常处理
    写一个命令分发器初步要求 : 程序员可以方便地注册函数到某一个命令, 用户输入命令时, 路由到注册的函数, 如果此命令没有对应的函数, 执行默认函数分析 : 输入命令映射到一个函数, 并执行这个函数, 应该是cmd_tbl[cmd] = f...
    99+
    2023-01-31
    异常 Python
  • Python -- 异常处理
    当一个小人物冲向大时代,有多少伤害埋伏左右;      -- 北岛《城门开》当一个大梦想埋于小身体,有多少潜能冲破束缚。      -- 小Q 《梦想家》-------------------------------------------...
    99+
    2023-01-31
    异常 Python
  • python异常处理
    import re,random,traceback kk ='<img src="//kanimg.9ku.com/Article/20170727/1501135687683763.gif" alt="不要惹怒胖子,后果自己看"&...
    99+
    2023-01-31
    异常 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作