第十章 异常编程
Python使用被称为异常 的特殊对象来管理程序执行期间发生的错误。 每当发生让Python不知所措的错误时, 它都会建立一个异常对象。 若是你编写了处理该异常的代码, 程序将继续运行;json
若是你未对异常进行处理, 程序将中止, 并显示一个traceback, 其中包含有关异常的报告。
数据结构
异常是使用try-except 代码块处理的。编程语言
try:
print(5/0)
except ZeroDivisionError:
print("You can't divide by zero!") ide
若是try 代码块中的代码运行起来没有问题, Python将跳过except 代码块; 若是try 代码块中的代码致使了错误, 函数
Python将查找这样的except 代码块, 并运行其中的代码, 即其中指定的错误与引起的错误相同。
在这个示例中, try 代码块中的代码引起了ZeroDivisionError 异常, 所以Python指出了该如何解决问题的except 代码块, 并运行其中的代码。 这样, 用户看到的是一条友
好的错误消息, 而不是traceback。
学习
使用异常,避免崩溃spa
分析文本对象
方法split() 以空格为分隔符将字符串分拆成多个部分, 并将这些部分都存储到一个列表中
字符串
title = "Alice in Wonderland"
title.split()
['Alice', 'in', 'Wonderland'] #结果
使用多个文件
失败时一声不吭
并不是每次捕获到异常时都须要告诉用户, 有时候你但愿程序在发生异常时一声不吭, 就像什么都没有发生同样继续运行。
要让程序在失败时一声不吭, 可像一般那样编写try 代码块, 但在except 代码块中明确地告诉Python什么都不要作。
Python有一个pass 语句, 可在代码块中使用它来让Python什么都不要作:
决定报告哪些错误
存储数据
模块json 让你可以将简单的Python数据结构转储到文件中, 并在程序再次运行时加载该文件中的数据。 你还能够使用json 在Python程序之间分享数据。 更重要的是, JSON数据
格式并不是Python专用的, 这让你可以将以JSON格式存储的数据与使用其余编程语言的人分享。 这是一种轻便格式, 颇有用, 也易于学习
使用json.dump() 和json.load()
import json
numbers = [2, 3, 5, 7, 11, 13]
filename = 'numbers.json'
with open(filename, 'w') as f_obj:
son.dump(numbers, f_obj)
导入模块json,函数json.dump()将数字列表存储到文件numbers.json中
import json
filename = 'numbers.json'
with open(filename) as f_obj:
numbers = json.load(f_obj)
print(numbers)
导入模块json,函数json.load()加载存储在numbers.json中数据
重构