您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:Python常见异常处理总结

51自学网 2022-07-22 18:48:40
  python
这篇教程Python常见异常处理总结写得很实用,希望能帮到您。

异常处理介绍

在实际的开发中,我们经常遇到一些报错的例子,在pycharm的显示页面下,当我们看到一串串的红色的英文字母的时候,就是出现异常,这个时候如果英文好一点的童鞋,就可以按照它的提示,自己去解决。但是英文是很多的童鞋的软肋,不过你也不要担心,这个时候你就需要有一个翻译神器,我使用的是网易有道词典,不过有时候我们还是会遇到一些比较生僻的表达,所以本期文章我们就一起来看看关于Python实际开发过程中的一些常见报错和解决方法。

语法报错

代码拼写错误,一般在pycharm里面出现了错误的拼写,就会自动显示出来,在它的下面有红色的波浪线,还有就是我们在使用代码的拼写的时候,有一个技巧,它会自动补全,我们根据自己需要的代码块,按下“enter”键就可以实现快速拼接,这样极大地提高了我们写代码的速度和效率。

还有就会一些缩进错误,没有打冒号,这个是初学者经常遇到的一些问题,在之前的pycharm版本里面没有提示错误的这个功能,后面升级后就会有。在这里我还要提醒一个,经常有人会问,我好像没有写错啊,但是就是不能运行,这个时候就要检查自己输入法是不是英文输入法,除了用引号括起来的里面可以中文,其他的都不可以!

异常处理

出现异常的时候我们不知道自己的哪一部分写错了,难道还要从全文查找吗,不必了!我们直接点击在报错上面的那个链接,就会自动调到可能错误的代码处。

下面我看看一些常见的异常解释:

解决方法

我们在自己写代码做项目的时候,我们发现我们一个完整的项目有很多的代码块,一旦我们第一行代码报错了,我们后面的就不能运行了,如果这样的话,实际商业应用的时候,是非常的不现实的,所以我们就有了异常处理的方法。

try except

try:<语句> #运行别的代码except <名字>:<语句> #如果在try部份引发了'name'异常except <名字>,<数据>:<语句> #如果引发了'name'异常,获得附加的数据else:<语句> #如果没有异常发生

如果try语句下面出现了异常,程序就会去运行except下面的代码去执行相关的操作,或者是捕获异常

try:a=str("王小王")+1233print(a)except:print("出现异常语法错误!")

这里本来就会报错,但是我们这个语句,我们要知道int和str是不可以进行运算的。那么我们在捕获异常的时候,我们就会发现他是TypeError,对类型无效的操作!

try except else;

当我们这个程序没有错误的时候,它会自动执行else语句,而且不会运行except下面的补充代码,这样就有了一个较好的解决方法。

try except finally:

当我们想要无论是否有异常出现我们都要去打印出来,这个时候我们就可以运行这个语句了。这个语句可以在finally下面加上一些必要的操作,比如我们在进行文件操作处理的时候,必须要关闭文件,这个时候就可以使用它。

try:a=str("王小王")+1233print(a)except TypeError:print("出现异常语法错误!")finally:print("123")

抛出异常

使用raise抛出异常。

try:a=str("王小王")+1233print(a)except TypeError:print("出现异常语法错误!")finally:raise TypeError'''抛出异常''''''raiseraise[异常类型 [,arg [,traceback]]]其中后面两个参数都是可选参数'''

'''assert''''''这个其实就是raise的简化,当assert后面的语句为假的时候,这个时候就会异常处理,为真就会有正确的运行'''def test():for i in range(3):try:assert i<2except AssertionError:print("抛出一个异常!")print(i)print("执行完毕!")test()

自定义异常

'''自定义异常在定义异常类的时候,我们需要继承Exception这个类,然后自己再去定义一些东西'''class RangeError(Exception):def __init__(self,value):self.value=valuedef __str__(self):#重载方法__str__()return self.valueraise RangeError("Rang错误!!!!!")

其他内置函数

  • testmod()
  • testfile()

总结

到此这篇关于Python常见异常处理总结的文章就介绍到这了,更多相关Python异常处理内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


Python代码中引用已经写好的模块、方法的两种方式
如何利用Python写猜数字和字母的游戏
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1