如何学Python 第九课-try&except-错误与异常 ---转载---玄魂工作室

前言:

在调试程序过程中,总会遇到这样或者那样的错误。今天我们就来学习一下如何定位和解决这些问题。

人非圣贤,孰能无过?写程序的时候难免会遇到一些问题。本篇文章会介绍一些常见的错误,并且解释一下其中的道理。

出错并不是坏事

错误的出现原因多种多样。用户的非法输入、进程创建失败等等都可以导致错误的出现。除了语法错误这种低级错误以外,有时候了,发现逻辑/使用上的缺陷不仅可以防患于未然,甚至可以让我们把程序做得更好。

看懂错误信息

如果程序出了错,我们通常会得到一个非常醒目的提示。我相信各位应该都遇到不小心写错程序时python给出的错误想信息,比如下面这个:

遇到错误,首先要做的就是找到原因。Python会告诉我们错误出现的位置、行号,以及错误的类型。上图出现的错误类型就是“Type Error”错误,这是因为我们尝试把一个字符类型和一个数据类型加在一起。错误的类型很多,类型与类型之间存在着继承的关系,可以参考下面这篇文章。

https://docs.python.org/2/library/exceptions.html#exception-hierarchy

有时候错误提示还会用一个小小的^符号帮我们指出错误的位置,像这样:

这种情况更多出现在我们把语句写错的时候。

未雨绸缪

如果想要增加程序的稳定性(健壮性),我们应该尽可能的考虑可能发生错误的点以及用户的使用方式,以使得程序不会轻易的崩溃。不合理的输入是最常见的问题,比它还要常见的则是代码本身写错了。

这个小节的意义是提醒你在写完程序之后重新读读自己写的代码,而且要仔细要认真。一旦你学会了定位问题,你的编程功力便上升了一个等级。

现在,我们知道了定位问题的方法。下面,我们来看看具体要怎么写处理问题的代码。

 

在上面的代码中,我们让用户输入一个值,并尝试通过给这个值加一的方式看看它是不是一个数字。(好吧这其实挺可爱的 如果用户输入的根本不是一个数字又怎么加一呢?+1s)如果是一个数字,那么我们就输出用户输入的数字;如果不是数字,我们就输出提示。

输入了数字的时候运行结果如下:

输入字符的时候运行结果如下:

 

如果我们所见,我们在输入数字的时候得到了想要的结果,但是当我们输入字符串的时候,程序直接崩了。

下面来使用try和except。

我们再来看看现在程序会怎么运行:

 

 

现在,我们的程序可以如我们期待的一样运行了。

总结

在这一篇中我们讲述了一些基本的概念,包括’错误不全都是坏的’、通过python给出的错误提示信息分析错误以及通过思考来找到代码里的潜在缺陷。我们还尝试了通过try和except来处理可能遇到的错误。

练习

尝试自己制造出各种各样的错误,然后看看它们的错误类型;捕捉并处理这些错误。

猜你喜欢

转载自blog.csdn.net/shadowyingjian/article/details/81071757