资讯专栏INFORMATION COLUMN

Python常见异常问题总结

89542767 / 214人阅读

  小编写这篇文章的一个主要目的,就是来给大家去做一个解答,解答的内容主要是Python常见的一些bug和异常问题,那么,遇到这些问题的时候,我们需要找到好办法去进行处理。那么,小编这边就给大家做了一个总结,总结常见的异常问题,大家好好阅读哦。


  异常处理介绍


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


  语法报错


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


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


  异常处理


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


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

01.png

02.png

03.png

  解决方法


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


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


  <语句>#如果没有异常发生


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


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

04.png

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


  try except else;


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


  try except finally:


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


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

05.png

  抛出异常


  使用raise抛出异常。


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

06.png

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

07.png

  自定义异常

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


  到此为止,这篇文章就给大家介绍到这里了,希望可以给大家带来更多帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128302.html

相关文章

  • Python的中文编码问题

    摘要:使用中文替代中文中文编码中文编码中有以上两种声明字符串变量的方式,它们的主要区别是编码格式的不同,其中,的编码格式和文件声明的编码格式一致,而的编码格式则是。 字符串是Python中最常用的数据类型,而且很多时候你会用到一些不属于标准ASCII字符集的字符,这时候代码就很可能抛出UnicodeDecodeError: ascii codec cant decode byte 0xc4 ...

    Cheriselalala 评论0 收藏0
  • 测试开发必看:《笨办法学Python3》PDF中文高清版,豆瓣高分8.0

    摘要:笨办法学第版结构非常简单,共包括个习题,其中个覆盖了输入输出变量和函数三个主题,另外个覆盖了一些比较高级的话题,如条件判断循环类和对象代码测试及项目的实现等。最后只想说,学习不会辜负任何人,笨办法学 内容简介   《笨办法学Python(第3版)》是一本Python入门书籍,适合对计...

    不知名网友 评论0 收藏0
  • Python基础之(九)错误和异常

    摘要:另一种常见错误是逻辑错误。当检测到一个错误时,解释器就无法继续执行下去,于是抛出提示信息,即为异常。 错误 >>> for i in range(10) File , line 1 for i in range(10) ^ SyntaxError: invalid syntax 上面那句话因为缺少冒号:,导致解释器无法解释,于是报错。这个...

    yimo 评论0 收藏0
  • PHP小知识点

    摘要:那些琐碎的知识点作者记录的的很奇特很难记的知识点。易错知识点整理注意和的区别中和都是输出的作用,但是两者之间还是有细微的差别。今天手头不忙,总结一下,分享过程中掌握的知识点。 深入理解 PHP 之:Nginx 与 FPM 的工作机制 这篇文章从 Nginx 与 FPM 的工作机制出发,探讨配置背后的原理,让我们真正理解 Nginx 与 PHP 是如何协同工作的。 PHP 那些琐碎的知识...

    hover_lew 评论0 收藏0
  • 上下文管理器和 else 块

    摘要:上下文管理器和块上下文管理器协议包含和两个方法。语句运行结束后,会在上下文管理器对象上调用方法,以此扮演子句的角色。 上下文管理器 最终,上下文管理器可能几乎与子程序(subroutine)本身一样重要。 在各种语言中 with 语句的作用不同,而且做的都是简单的事,虽然可以避免不断使用点号查找属性,但是不会做事前准备和事后清理。 if语句之外的else块 else太个性了, 其他语言...

    bbbbbb 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<