iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3 异常与断言
  • 155
分享到

Python3 异常与断言

断言异常 2023-01-30 23:01:01 155人浏览 泡泡鱼

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

摘要

1.异常 当出现错误时,程序就会发生异常 num1=input('Please input a num1: ') num2=input('Please input a num2: ') print(float(num1)/float(n

1.异常

当出现错误时,程序就会发生异常

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')

print(float(num1)/float(num2))

输入num1=3,num2=0,程序产生异常

除了除零异常,还有许多种异常:

ImportError:无法引入包或模块
IndexError:下标索引超界
NameError:使用还未赋值的变量
SyntaxError:代码逻辑出错,不能执行
TypeError:传入的对象类型与要求不符
ValueError:传入一个不被期望的值,即使类型正确
KeyError:试图访问字典里不存在的键
ioError:输入输出异常
ZeroDivisionError:除零
AttributeError:尝试访问未知的对象属性

(1)异常捕获

使用try…except…语句来捕获异常

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')
try:
	print(float(num1)/float(num2))
except:
	print('Error!')

输出结果:

也可以在except后面加上具体的异常

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')
try:
	print(float(num1)/float(num2))
except ZeroDivisionError:
	print('Error!')

(2)处理多个异常

上面的例子不止会出现除零异常,如果我输入的不是数字而是字母,也会产生异常

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')
try:
	print(float(num1)/float(num2))
except ZeroDivisionError:
	print('Error!')
except ValueError:
	print('Input a num!')

输出结果:

也可以只写一个except语句

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')
try:
	print(float(num1)/float(num2))
except (ZeroDivisionError,ValueError):    #一定要用()包起来
	print('Error!')

(3)else语句

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')
try:
	print(float(num1)/float(num2))
except (ZeroDivisionError,ValueError):
	print('Error!')
else:
	print('Input right!')

如果产生异常就不会执行else语句

(4)finally语句

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')
try:
	print(float(num1)/float(num2))
except (ZeroDivisionError,ValueError):
	print('Error!')
else:
	print('Input right!')
finally:
	print('Over!')

不管会不会产生异常,都会执行finally语句.所以finally语句多用来收尾.

(5)输出异常信息

如果想要输出异常信息,并且使用默认的异常提示

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')
try:
	print(float(num1)/float(num2))
except Exception as e:
	print(e)
	print('Error!')
else:
	print('Input right!')
finally:
	print('Over!')

输出结果:

(6)抛出异常

raise需要指定一个参数,必须是一个异常的实例或者是异常的类

a=1
raise ValueError('Error!')

输出结果:

在except里面,raise可以不用传入参数,这样会将异常再次抛出

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')
try:
	print(float(num1)/float(num2))
except Exception as e:
	print(e)
	raise

输出结果:

2.断言

assert后面接的第一个参数应该是一个布尔表达式,如果表达式的值为True,不会中断程序,如果表达式的值为False,就会中断程序

assert后面接的第二个参数是产生中断之后要输出的内容

num1=input('Please input a num1: ')
num2=input('Please input a num2: ')

assert (float(num2)!=0),'Error!'
print(float(num1)/float(num2))

输出结果:

--结束END--

本文标题: Python3 异常与断言

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

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

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Python3 异常与断言
    1.异常 当出现错误时,程序就会发生异常 num1=input('Please input a num1: ') num2=input('Please input a num2: ') print(float(num1)/float(n...
    99+
    2023-01-30
    断言 异常
  • java中断言与异常有什么区别
    本篇文章给大家分享的是有关java中断言与异常有什么区别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编...
    99+
    2023-06-14
  • springboot断言异常封装与统一异常处理实现代码
    目录步骤1、异常类2、统一异常处理配置类3、断言类4、使用补充:异常处理器说明handleServletExceptionhandleBindExceptionhandleValid...
    99+
    2023-01-11
    springboot断言异常封装 springboot统一异常 springboot异常处理
  • Python异常断言实例分析
    本篇内容介绍了“Python异常断言实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!断言是判断一个表达式,在表达式为 False 的时...
    99+
    2023-06-29
  • Python学习之异常断言详解
    该章节我们来学习 异常的最后一个知识点 - 断言 ,断言是判断一个表达式,在表达式为 False 的时候触发异常。表达式我们可以对号入座,可以是条件语句中的声明,也可以是是 whil...
    99+
    2024-04-02
  • python3学习之异常
    ##异常处理 #try: #    pass #except Exception as ex:   Exception(捕获所有错误)可以换成任何异常类型,代表只捕获指定错误, # 可以写多个except #    pass ##异常类型...
    99+
    2023-01-31
    异常
  • Python3 错误和异常
    Edit笔记内容:Python3 错误和异常 笔记日期:2017-11-12Python3 错误和异常语法错误异常异常处理抛出异常用户自定义异常finally语句预定义的清理行为异常处理机制概述: 异常处理,是编程语言或计算机硬件里的一种机...
    99+
    2023-01-31
    异常 错误
  • PHP异常处理:在测试场景中使用断言异常
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-14
  • python3的异常类型
    BaseException  +-- SystemExit  +-- KeyboardInterrupt  +-- GeneratorExit  +-- Exception       +-- StopIteration       +--...
    99+
    2023-01-31
    异常 类型
  • python3的异常处理
    在python运行的时候难免出现一些异常,但是python在遇到异常的时候就会停止了,但是有时候我们需要python即使在有异常的时候也需要继续向下运行,这个时候我们就需要用到异常处理了.1.简单的异常处理如: print(a) Trace...
    99+
    2023-01-31
    异常
  • 以写代学:python 错误、异常、断言
    1.错误(1)语法错误     语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译。这些错误必须在程序执行前纠正。(2)逻辑错误     逻辑错误可能是由于不完整或是不合法的输入所致。还可能是逻辑无法生成,计算,或是输出结...
    99+
    2023-01-31
    断言 异常 错误
  • python3-抛出、捕获异常
    ''' 异常:错误发生的信号,程序随之终止 三个部分: 1.traceback 异常的追踪信息(链接) 2.异常的类型 3.异常信息 错误两大类: 1.语法错误(运行前进行判定和修正) 2.逻...
    99+
    2023-01-31
    抛出 异常
  • python3:Python 异常处理以
    try …except…else 语句 是处理异常公式, try 是有可能抛异常的代码块, except 抓取异常的类型, else 是指当没有抓到抛错,就运行这块代码。请看下下边的例子: try: print("抓取的有...
    99+
    2023-01-31
    异常 Python
  • python3 套接字异常(a byte
    #修改代码 from socket import * from time import ctime HOST = 'localhost' PORT = 21567 BUFSIZ = 1024 ADDR = (HOST,PORT) t...
    99+
    2023-01-31
    异常 byte
  • Jmeter常用断言之JSON断言简介
    JSON断言可以对服务器返回的JSON文档进行验证。 JSON断言有两种使用模式: 1.根据JSONPath能否在JSON文档中找到路径; 2.根据JSONPath提取值并对值进行验证。 结果判定:若文档格式为非JSON则断言失败;找不到路...
    99+
    2023-08-17
    jmeter java 单元测试 测试工具 json断言
  • Python3的异常捕获和处理
    1.try 和 except 这是异常语句。使用了这个可以对报错的代码,也会继续 执行下去而不会报错,不执行后面的代码。try是捕获异常,在try里的代码执行如果出错后,就会执行在execpt里的代码。try: print(2/0)...
    99+
    2023-01-31
    异常
  • 故障诊断的利器:异常捕获与分析
    异常捕获和分析是软件开发中的关键工具,可帮助开发人员识别并解决程序中的错误。通过及时检测和报告异常,开发人员可以快速采取行动,防止错误升级为严重问题。 异常捕获 异常是程序运行时发生的意外事件,它会中断正常的执行流程。异常可以由各种因素触...
    99+
    2024-04-02
  • Go语言之Goroutine与信道异常处理
    目录一、Goroutine1、启动一个 Goroutine2、Go 语言的GMP模型二、信道1、死锁2、单向信道3、for 循环信道4、缓冲信道5、WaitGroup6、Selec&...
    99+
    2024-04-02
  • java异常类型怎么判断
    在Java中,异常类型可以通过以下几种方式进行判断:1. 使用`try-catch`语句来捕获并处理异常。在`catch`块中,可以...
    99+
    2023-08-09
    java
  • 一文了解Python3的错误和异常
    目录1.错误和异常2.异常处理try/excepttry/except…elsetry-finally3.抛出异常4.assert(断言)1.错误和异常 Python ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作