我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python3的异常处理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python3的异常处理

在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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python3的异常处理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python3的异常处理

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

python3:Python 异常处理以

try …except…else 语句是处理异常公式, try 是有可能抛异常的代码块, except 抓取异常的类型, else 是指当没有抓到抛错,就运行这块代码。请看下下边的例子:try: print("抓取的有可能的代码块")
2023-01-31

Python3的异常捕获和处理

1.try 和 except 这是异常语句。使用了这个可以对报错的代码,也会继续 执行下去而不会报错,不执行后面的代码。try是捕获异常,在try里的代码执行如果出错后,就会执行在execpt里的代码。try: print(2/0)e
2023-01-31

python3 与python2 异常处理的区别与联系

在python2.x中 ,异常是这样的处理的,异常基类后面加一个逗号“ ,” 然后跟着异常类型 import tracebacktry:1/0 except Exception , err:print err在python3.x中,异常是
2022-06-04

PHP异常处理:处理异步操作中的异常

处理异步操作中的 php 异常需要:协程中,使用 try-catch-finally 语法捕获异常。promise 中,使用 then() 和 catch() 方法处理异常。实战案例:使用协程处理 http 请求中的异常,并捕获和处理异常。
PHP异常处理:处理异步操作中的异常
2024-05-14

异常--python异常处理

--****--python 异常处理------------------------------------------------------------------------------****DB API中定义了一些数据库操作的错
2023-01-31

python3的异常类型

BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception      +-- StopIteration      +-- StopA
2023-01-31

异常处理

程序中有两种错误    1.语法错误(这种错误,根本过不了Python解释器的语法检测,必须在程序执行前就改正)#错误示范一if#错误示范二print("adad"语法错误    2.逻辑错误# 用户输入不完整num = input(">>
2023-01-30

python的异常处理

1.1什么是异常?异常时程序发生错误的信号,一旦程序出错机会产生一种类型的异常,1.2为什么要处理异常?为了保证程序的健壮性1.3怎么处理异常?语法错误:程序运行前就应该解决逻辑错误:try…except1.4五种异常处理语法:异常处理一:
2023-01-31

PHP 异常处理:对错误和异常的全面处理

异常处理是 php 中处理错误和异常的重要机制,提高了应用程序的健壮性和稳定性。错误由解释器抛出,表示无法恢复的严重问题。异常由代码抛出,表示可恢复的运行时问题。php 提供了 error、exception 和 throwable 类来处
PHP 异常处理:对错误和异常的全面处理
2024-05-11

urllib异常处理

urllib的error模块定义了由 request模块产生的异常。如果出现了问题,request 模块便会抛出error模块中定义的异常。1 URLErrorURLError类来自urllib库的error模块,它继承自OSError类,
2023-01-30

Python -- 异常处理

当一个小人物冲向大时代,有多少伤害埋伏左右;      -- 北岛《城门开》当一个大梦想埋于小身体,有多少潜能冲破束缚。      -- 小Q 《梦想家》-------------------------------------------
2023-01-31

python异常处理

import re,random,tracebackkk ='不要惹怒胖子,后果自己看'p =
2023-01-31

Python 异常处理

写一个命令分发器初步要求 :程序员可以方便地注册函数到某一个命令, 用户输入命令时, 路由到注册的函数, 如果此命令没有对应的函数, 执行默认函数分析 :输入命令映射到一个函数, 并执行这个函数, 应该是cmd_tbl[cmd] = fn
2023-01-31

oracle异常处理

语句执行过程中,由于各种原因使得语句不能正常执行,可能会造成更大错误或整个系统的崩溃,所以PS/SQL提供了异常(exception)着一处理的方法来防止此类情况的发生。在代码运行的过程中无论何时发生错误,PL/SQL都能控制程序自动地转向执行异常部分。1.预
oracle异常处理
2016-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录