当前位置: 首页 > news >正文

有人利用婚恋网站做微商深圳网络推广培训学校

有人利用婚恋网站做微商,深圳网络推广培训学校,晋城市住房和城乡建设局官方网站,手机网页制作图片Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。 Python 有两种错误很容易辨认:语法错误和异常。 Python assert(断…

Python3 错误和异常

作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。

Python 有两种错误很容易辨认:语法错误和异常。

Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。

在这里插入图片描述

标准异常如下列表

异常名称描述
Exception所有异常的基类
StopIteration当一个迭代器的 next()方法不指向任何对象时引发
SystemExit由 sys.exit()函数引发
StandardError除了StopIteration异常和SystemExit,所有内置异常的基类
ArithmeticError数值计算所发生的所有错误的基类
OverflowError当数字类型计算超过最高限额引发
FloatingPointError当一个浮点运算失败时触发
ZeroDivisonError当除运算或模零在所有数值类型运算时引发
AssertionError断言语句失败的情况下引发
AttributeError属性引用或赋值失败的情况下引发
EOFError当从 raw_input() 与 input() 函数输入,到达文件末尾时触发
ImportError当一个 import 语句失败时触发
KeyboardInterrupt当用户中断程序执行,通常是通过按 Ctrl+c 引发
LookupError所有查找错误基类
IndexErrorKeyError当在一个序列中没有找到一个索引时引发当指定的键没有在字典中找到引发
NameError当在局部或全局命名空间中找不到的标识引发
UnboundLocalErrorEnvironmentError试图访问在函数或方法的局部变量时引发,但没有值分配给它。Python环境之外发生的所有异常的基类。
IOErrorIOError当一个输入/输出操作失败,如打印语句或 open()函数试图打开不存在的文件时引发操作系统相关的错误时引发
SyntaxErrorIndentationError当在Python语法错误引发;没有正确指定缩进引发。
SystemError当解释器发现一个内部问题,但遇到此错误时,Python解释器不退出引发
SystemExit当Python解释器不使用sys.exit()函数引发。如果代码没有被处理,解释器会退出。当操作或函数在指定数据类型无效时引发
ValueError在内置函数对于数据类型,参数的有效类型时引发,但是参数指定了无效值
RuntimeError当生成的错误不属于任何类别时引发
NotImplementedError当要在继承的类来实现,抽象方法实际上没有实现时引发此异常

在Python中断言

断言是一种理智检查,当程序的测试完成,你可以打开或关闭。
断言的最简单的方法就是把它比作 raise-if 语句 (或者更准确,加 raise-if-not 声明). 一个表达式进行测试,如果结果出现 false,将引发异常。
断言是由 assert 语句,在Python中新的关键字,在Python1.5版本中引入使用的关键字。
程序员常常放置断言来检查输入的有效,或在一个函数调用后检查有效的输出。

assert 语句当它遇到一个断言语句,Python评估计算之后的表达式,希望是 true 值。如果表达式为 false,Python 触发 AssertionError 异常。

断言的语法是 -

assert Expression[, Arguments] 

如果断言失败,Python使用 ArgumentExpression 作为AssertionError异常的参数。AssertionError异常可以被捕获,并用 try-except语句处理类似其他异常,但是,如果没有处理它们将终止该程序并产生一个回溯。

示例这里是一个把从开氏度到华氏度的温度转换函数。

#!/usr/bin/python3
def KelvinToFahrenheit(Temperature):assert (Temperature >= 0),"Colder than absolute zero!"return ((Temperature-273)*1.8)+32print (KelvinToFahrenheit(273))
print (int(KelvinToFahrenheit(505.78)))
print (KelvinToFahrenheit(-5))

当执行上面的代码,它产生以下结果 -

32.0
451
Traceback (most recent call last):
File "test.py", line 9, in 
print KelvinToFahrenheit(-5)
File "test.py", line 4, in KelvinToFahrenheit
assert (Temperature >= 0),"Colder than absolute zero!"
AssertionError: Colder than absolute zero!

except子句中无异常

也可以使用 except 语句定义如下无异常声明如下 -

try:You do your operations here......................
except:If there is any exception, then execute this block.......................
else:If there is no exception then execute this block. 

except子句与多个异常

也可以使用相同的 except 语句来处理多个异常,具体如下 -

try:You do your operations here......................
except(Exception1[, Exception2[,...ExceptionN]]]):If there is any exception from the given exception list, then execute this block.......................
else:If there is no exception then execute this block. 

try/except…else

try/except 语句还有一个可选的 else 子句,如果使用这个子句,那么必须放在所有的 except 子句之后。

else 子句将在 try 子句没有发生任何异常的时候执行。

在这里插入图片描述
以下实例在 try 语句中判断文件是否可以打开,如果打开文件时正常的没有发生异常则执行 else 部分的语句,读取文件内容:

for arg in sys.argv[1:]:try:f = open(arg, 'r')except IOError:print('cannot open', arg)else:print(arg, 'has', len(f.readlines()), 'lines')f.close()

使用 else 子句比把所有的语句都放在 try 子句里面要好,这样可以避免一些意想不到,而 except 又无法捕获的异常。

异常处理并不仅仅处理那些直接发生在 try 子句中的异常,而且还能处理子句中调用的函数(甚至间接调用的函数)里抛出的异常。例如:

>>> def this_fails():x = 1/0>>> try:this_fails()except ZeroDivisionError as err:print('Handling run-time error:', err)Handling run-time error: int division or modulo by zero

try-finally 语句

try-finally 语句无论是否发生异常都将执行最后的代码。

在这里插入图片描述

以下实例中 finally 语句无论异常是否发生都会执行:

try:runoob()
except AssertionError as error:print(error)
else:try:with open('file.log') as file:read_data = file.read()except FileNotFoundError as fnf_error:print(fnf_error)
finally:print('这句话,无论异常是否发生都会执行。')
http://www.yayakq.cn/news/451179/

相关文章:

  • 门户网站的营销特点域名购买国外
  • 做网站如何在百度快照上排名wordpress 讲解
  • 怀化找工作网站郑州app外包公司
  • 自己做网站导航深圳招聘网最新招聘信息
  • 如何优化营销型企业网站平房装修设计图片大全 效果图
  • 建设wap手机网站制作晋城建设局官方网站
  • 合肥seo网站多少钱2024舆情信息最新热点
  • 企业网站需要什么功能西安网站seo推广厂家
  • 可以做英语阅读理解的网站1688网站
  • 布吉做棋牌网站建设怎样做有效的黄页网站
  • 网站模板制作视频教程wordpress 嵌套回复
  • 吉安微信网站anylink wordpress
  • 如何实现网站开发湖南系统建站怎么用
  • 实验楼编程网站百度风云榜小说排行榜历届榜单
  • 东莞网站策划如何调整网站板块位置
  • 福州网站大全排版网页设计教程
  • 贵州城乡住房建设厅网站泰州网站建设费用
  • 域名购买 网站建设为什么自己做的网站别人打不开
  • 赣州企业网站建设推广做国外网站建设
  • 经典软文案例分析优化排名推广关键词
  • 网站怎么自适应屏幕哪个网站可以专门做产品推广
  • 嘉兴做企业网站的公司网站建设费用预算模板
  • 洛阳网站建设手机设计图制作软件app免费
  • 怎么在百度上做自己的网站游戏开发和网站开发
  • 门户网站seo网站页脚模板
  • 吴江网站建设免费会员管理软件
  • 网站建设套模wordpress用什么编写的
  • 公司可以做网站吗南京做网站优化哪家好
  • 学校网站模板注意事项软件开发流程管理系统
  • 杭州上城区建设局网站深圳华强北二手手机