Python3 错误和异常.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python3 错误和异常.pdf

Python3 错误和异常 Python 错误和异常 作为Python初学者,在刚学习Python编程时,经常会看到⼀些报错信息,在前⾯我们 没有提及, 章节我们会专门介绍。 Python有两种错误很容易辨认:语法错误和异常。 语法错误 Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例 while True print(Hello world) File stdin, line 1, in ? while True print(Hello world) ^ Syntax rror: invalid syntax 个例⼦中,函数 print() 被检查到有错误,是它前⾯缺少了⼀个冒号 (:)。 语法分析器指出了出错的⼀⾏,并且在最先找到的错误的位置标记了⼀个⼩⼩的箭 头。 异常 即便Python程序的语法是正确的,在运⾏它的时候,也有可能发⽣错误。运⾏期检测 到的错误被称为异常。 ⼤多数的异常都不会被程序处理,都以错误信息的形式展现在 ⾥: 10 * (1/0) Traceback (most recent call last): File stdin, line 1, in ? ZeroDivision rror: division by zero 4 + spam*3 Traceback (most recent call last): File stdin, line 1, in ? Name rror: name spam is not defined 2 + 2 Traceback (most recent call last): File stdin, line 1, in ? Type rror: Cant convert int object to str implicitly 异常以不同的类型出现, 些类型都作为信息的⼀部分打印出来: 例⼦中的类型有 ZeroDivisionError ,NameError 和 TypeError 。 错误信息的前⾯部分显⽰了异常发⽣的上下⽂,并以调⽤栈的形式显⽰具体信息。 异常处理 以下例⼦中,让⽤户输⼊⼀个合法的整数,但是允许⽤户中断 个程序 (使⽤ Control-C 或者操作系统提供的⽅法)。⽤户中断的信息会引发⼀个 KeyboardInterrupt 异常。 while True: try : x = int(input(Please enter a number: )) break except Value rror: print(Oops! That was no valid number. Try again try语句按照如下⽅式⼯作; ⾸先,执⾏try⼦句 (在关键字try和关键字e cept之间的语句) 如果没有异常发⽣,忽略e cept⼦句,try⼦句执⾏后结束。 如果在执⾏try⼦句的过程中发⽣了异常,那么try⼦句余下的部分将被忽略。如 果异常的类型和 e cept 之后的名称相符,那么对应的e cept⼦句将被执⾏。最 后执⾏ try 语句之后的代码。 如果⼀个异常没有与任何的e cept匹配,那么 个异常将会传递给上层的try 中。 ⼀个 try 语句可能包含多个e cept⼦句,分别来处理不同的特定的异常。最多只有⼀个 分⽀会被执⾏。 处理程序将只针对对应的try⼦句中的异常进⾏处理,⽽不是其他的 try 的处理程序中 的异常。 ⼀个e cept⼦句可以同时处理多个异常, 些异常将被放在⼀个括号⾥成为⼀个元 组,例如: except (Runtime rror, Type rror, Name rror): pass 最后⼀个e cept⼦句可以忽略异常的名称,它将被当作通配符使⽤。你可以使⽤ 种 ⽅法打印⼀个错误信息,然后再次把异常抛出。 import sys try : f = open(myfile.txt) s = f.readline() i = int(s.str

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档