python3_异常 && pass语句

不问归期 提交于 2020-02-28 13:38:20

使用异常对象来管理程序执行期间发生的错误。
异常是try-except代码块处理的。

1.前言

  • 找到所需的异常
print(5/0)

在这里插入图片描述

  • 异常语法解释:
    将容易出错的代码放在try语句中运行,
    如果没有报错:直接跳过except语句下的内容,运行其他剩余代码。
    如果报错:将挨个查找except后面对应的错误类型,1.找到对应的错误,执行该错误下的代码块。运行剩余代码块。2.找不到对应的错误,报错,不运行剩余代码块。
  • 例子:
try:
	print(5/0)
except ZeroDivisionError:
	print("除数不能为0")

2.else代码块:

使用else代码块的作用是只有当语句不报错的时候,才会执行print语句。
如果不使用else语句,print语句在不管报错或不报错都会执行。

try:
	要测试的语句
except 异常类型:
	引发异常后的操作
else:
	没引发异常时的操作 

eg:
1.除数不能为零异常

try:
	result = 6/2
except ZeroDivisionError:
	print("除数不能为o")
else:
	print(result) #不引发异常时时,才执行。
print("程序执行完毕!") #不管是否引发异常都会执行。

2.文件找不到异常

try:
	with open('file.txt') as f:
		content = f.read()
except FileNotFoundError:
	print("文件找不到")
else:
	print("问价内容是:"+content)

3.例子:分析文本

def count_words(filename):
"""计算一个文件大致包含多少个单词"""
	try:
		with open(filename) as f:
			contents = f.read()
	except FileNotFoundError:
		msg="sorry,the file"+filename+"does not exist."
		print(msg)
	else:
		#计算文件大致包含多少个单词
		words = contents.split() #以空格分割文本,生成列表。
		numbers = len(words)
		print("the file "+filename+"has about"+str(numbers)+"words.")
	filenames = ['a1.txt','a2.txt','a3.txt','a4.txt'] #其中有的文件不存在,也不影响程序。
	for filename in filenames:
		count_words(filename) 

4.pass语句

pass语句表示什么都不做,还可以充当占位符。

a = 2
if a == 2:
    print("a是2")
else:
    pass
print("it is over!")
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!