Python异常处理机制,python针对异常的处理方式

  Python异常处理机制,python针对异常的处理方式

  异常机制已经成为衡量一种编程语言成熟度的标准之一。使用异常处理机制的Python程序具有更好的容错性和更强的健壮性。

  就计算机程序而言,情况就更复杂了——谁也不能保证自己写的程序永远不会硬!即使程序没有错误,你能保证用户总是如你所愿的输入吗?即使用户非常“聪明合作”,你能保证运行这个程序的操作系统永远稳定吗?你能保证运行这个程序的硬件不会突然崩溃吗?你可以保证网络永远畅通……你不能保证的情况太多了!

  对于一个程序员来说,要尽可能的预测所有可能的情况,尽可能的保证程序能在所有不好的情况下运行。

  考虑前面介绍的五子棋程序:当用户输入象棋坐标时,程序要判断用户输入是否合法。如果保证程序有很好的容错性,会有如下伪代码:

  如果用户输入包含除逗号以外的其他非数字字符:

  警报坐标只能是数值。

  gotoretry

  如果用户输入不包含逗号:

  Alert应该用逗号分隔两个坐标值。

  gotoretry

  e如果用户输入的坐标值超出有效范围:

  提醒用户输入的坐标应该在棋盘坐标内。

  gotoretry

  elif用户输入的坐标已经有棋子:

  提醒“你只能在没有棋子的地方下棋”

  gotoretry

  else:

  #业务实施代码

  .上面的代码还没有涉及到任何有效的处理,只是考虑了四种可能的错误,代码量急剧增加。但实际上,上面考虑的四种情况远不是所有可能的情况(其实世界上有无穷无尽的意外),程序中可能出现的异常总是比程序员能考虑到的要多。

  而且,如前所述,骄傲的程序员更倾向于认为,“是的,错误可能会发生,但这是别人造成的,与我无关。”

  如果每次在实现真正的业务逻辑之前,我们都要煞费苦心地考虑各种可能的错误情况,并对各种错误情况给出补救措施,那该有多繁琐。程序员喜欢解决问题,喜欢开发带来的“创造”的快感,但不喜欢像一个“堵”工一样去堵外部条件造成的“漏洞”。

  对于构建大型、健壮和可维护的应用程序,错误处理是整个应用程序中要考虑的一个重要方面。程序员不能只做“正确的”事情。程序员开发程序的过程是一个创造性的过程。这个过程需要综合考虑,只做“对”的事情是远远不够的。

  对于上述错误处理机制,主要有以下两个缺点:

  不可能列举所有的异常情况。由于人类知识的限制,总有比可以考虑的更多的异常情况,总有“漏网之鱼”的异常情况,所以程序总是不够健壮。

  错误码和业务实现代码混用。这种错误处理和业务实现混杂的代码,严重影响了程序的可读性,增加了程序维护的难度。

  程序员希望有一个强大的机制来解决上述问题,把上面的程序改成下面的伪代码:

  如果用户输入非法3360

  警告输入是非法的

  gotoretry

  else:

  #业务实施代码

  .上面的伪代码提供了一个非常强大的“if块”,即只要用户输入不符合要求,程序就会一次性处理所有错误,而不管输入错误的原因是什么。这种处理方法的好处是使错误处理代码更有条理,只需要在一个地方处理错误。

  现在的问题是,如何定义“非法用户输入”的条件?当然,对于这个简单的需求,可以使用正则表达式来匹配用户输入。当用户输入与正则表达式不匹配时,可以判断为“用户输入非法”。但对于更复杂的情况,就没那么简单了。使用Python的异常处理机制可以解决这个问题。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 常见的python异常及处理方法总结图,常见的python异常及处理方法总结论文
  • 常见的python异常及处理方法总结图,常见的python异常及处理方法总结图,常见的Python异常及处理方法总结
  • python异常值处理方法,python异常值检测常见方法
  • python异常处理过程可以概括为三个步骤,python处理异常有哪些方式
  • python如何实现对于数据中异常值的处理,python异常值检测
  • python异常处理中不会用到的关键字,python异常处理关键字
  • 简述python异常处理机制,python异常处理有何作用
  • python异常处理判断是不是整数,python异常处理判断质数
  • python数据异常值的处理,python异常值处理方法
  • python异常处理方法,python异常处理有何作用
  • python处理异常的4种方式,python异常处理总结
  • python中异常处理的两种方式,python异常数据处理
  • 介绍一下python的异常处理机制,python异常处理实验报告
  • python异常和错误是同一概念吗-为什么-,python错误和异常处理
  • python异常值处理方法,python 异常值
  • 留言与评论(共有 条评论)
       
    验证码: