博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3.2 官方文档翻译--错误与异常
阅读量:5443 次
发布时间:2019-06-15

本文共 1319 字,大约阅读时间需要 4 分钟。

第六章 错误和异常

直到如今错误信息还没有被涉及到。但你假设已经尝试了实例你可能已经看到一些相关信息。

python中至少有两种不同的错误:syntax errors exceptions

6.1 语法错误(syntax errors

   语法错误,也就是编译错误,当你開始学习python时,这样的错误可能是你最常见的抱怨。

>>> while True print(Hello world)

File "<stdin>", line 1, in ?

while True print(Hello world)

^

SyntaxError: invalid syntax

 

语法分析器会知道出错的语句,并在检查到错误的位置前面显示一个小“箭头”。

错误是因为箭头编辑的字符引起的或者至少探測到的。在样例中。在函数print()上探測到错误,因为在它前面少了一个:.从文本输入情况下, 文件名和行数将会被打印出来,因此在你能够知道从哪儿定位错误。

8.2 异常

假设语句和表达式在语法上是正确的,当尝试去执行它时可能会产生一个错误。在执行过程中被检測到的错误称为异常和程序不会无条件的崩溃。

接下来你会学到在python程序中怎样处理异常。

可是,很多异常不能被程序处理。就会导致例如以下的错误信息:

>>> 10*(1/0)

Traceback (most recent call last):

File "<stdin>", line 1, in ?

ZeroDivisionError: int division or modulo by zero

>>> 4 + spam*3

Traceback (most recent call last):

File "<stdin>", line 1, in ?

NameError: name spam’ is not defined

>>> 2’ + 2

Traceback (most recent call last):

File "<stdin>", line 1, in ?

TypeError: Cant convert int’ object to str implicitly

错误信息的最后一行描写叙述产生错误的原因,异常产生有不同方式而且错误类型会作为信息的一部分打印出来: 在实例中错误信息是 ZeroDivisionError,NameErrorTypeError

 作为错误类型打印出来的字符串是出如今内置异常的名称。

这对内置异常是正常的结果。但对于用户自己定义异常(虽然这是一个实用的规范)就不可而知了。标准异常的名称都是内置的标识符。(这不是保留keyword)。

剩下的行信息基于异常类型和产生原因提供更加具体信息。

错误信息的前面部分会显示异常发生的上下文。而且以栈的形式打印出来。总的来说,它包括一个包括源码的堆栈的列表;可是它不会显示从标准行读取的信息。

Bltin-exception显示内置全部的异常和全部的信息。

转载于:https://www.cnblogs.com/mqxnongmin/p/10853687.html

你可能感兴趣的文章
hyper-v 无线网连接
查看>>
Python3.7.1学习(六)RabbitMQ在Windows环境下的安装
查看>>
Windows下memcached的安装配置
查看>>
ubuntu: firefox+flashplay
查看>>
web.xml 中CharacterEncodingFilter类的学习
查看>>
贪吃蛇逻辑代码
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
[LeetCode] Meeting Rooms II
查看>>
从Swift学习iOS开发的路线指引
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
ssh 安装笔记
查看>>
3-继承
查看>>
海归千千万 为何再无钱学森
查看>>
vue2.0 仿手机新闻站(六)详情页制作
查看>>
JSP----九大内置对象
查看>>
Java中HashMap详解
查看>>
delphi基本语法
查看>>
260. Single Number III
查看>>
Hadoop生态圈-Kafka的完全分布式部署
查看>>
[MODx] Build a CMP (Custom manager page) using MIGX in MODX 2.3 -- 1
查看>>