首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

零基础学习 Python 之错误&异常

本文字数:1211 字

阅读本文大概需要:4 分钟

写在之前

从今天开始一个新的篇章又要开始了,这次要写的「错误 & 异常」知识点比较少,不像「类」那样知识点那么多,所以稍微好过一点。

对于程序在执行过程中因为错误或者其它原因而中止的现象,我们在之前文章的代码中已经看过很多次了,那些都可以归为「错误 & 异常」现象,我们接下来就是要对这种现象进行近距离的观察和处理。

错误

其实不管是弱鸡还是大佬,在写代码的时候错误往往是难以避免的,可能是因为手残,也可能是因为拼写错误,当然还有可能是某些比较玄学的错误,比如逗号写成全角的等等等等。总之,写代码中有相当一部分工作就是要不停的修改错误。

Python 中的错误之一就是「语法错误」(Syntax Errors),比如:

上面的那行代码里因为缺少冒号,导致解释器无法解释,于是报错,这个报错其实是 Python 的语法分析器完成的,并检测到了错误所在的文件和行号( File "", line 1 ),还以向上的箭头 ^ 标识错误的位置,最后显示错误类型。

另一种错误就是我们常说的「逻辑错误」,逻辑错误可能是由不合法或者不完整的输入导致的,也可能是无法计算等,或者是其它的逻辑问题。逻辑错误不是由 Python 来检查的,所以此处我们所谈的错误不包括逻辑错误。

异常

当 Python 检测到一个错误时,解释器就无法继续执行下去,于是就抛出提示信息,即为「异常」。有错误时,程序运行过程就会出现异常,让我们先来看一个小例子:

当 Python 抛出异常的时候,首先有「跟踪记录」或者叫「回溯」,后面显示异常的详细信息,包括异常所在的位置,最后一行是异常类型及导致异常的原因。在上面的例子中,明确的告诉我们异常的类型是 ZeroDivisionError,并且对此异常类型做了解释。

异常的类型有很多,我在这说几个常见的类型:

为了能够更好的深入理解,我在这举几个例子,展示一下其中几个异常出现的条件和结果:

1.NameError

在 Python 中虽然不需要在使用变量之前声明类型,但也需要对变量进行赋值,然后才可以使用,不被赋值的变量不能在 Python 中存在,因为变量相当于一个便签,要把它贴到对象上才有意义。

2.IndexError & KeyError

这两个用我们俗语来说就是「鸡蛋里挑骨头」,一定得报错了,不过在实际编程的时候,特别是循环的时候,常常由于循环条件设置的不合理从而出现这种类型的错误。

3.IOError

如果你确认有文件,就一定要把路径写正确,因为你并没有告诉 Python 要对你的计算机进行全身搜查,所以 Python 会按照你指定的未知去找,找不到就会出现异常。

这里只是干说其实没有什么效果,具体的还是要在实际编程中碰到才会印象深刻,这里你先把常见的几个记住,到时候别出现问题的时候不知道是什么错误。

写在最后

当你在运行程序的时候遇到异常时,不要慌张,这个其实是好事情,是 Python 在帮助你修改错误。只要你认真的阅读异常信息,再用我们之前学过的 dir(),help() 或官方文档,搜索工具等来协助,就一定会解决问题。

问题出现了就要解决,明天我们继续来说如何去「处理异常」,敬请期待。

如果你觉得本篇文章对你有帮助的话,欢迎点赞转发,让更多的人看到,在这现行谢过了。

The end。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180903A09KJ800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券