首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Python异常被命名为"Error"?

为什么Python异常被命名为"Error"?
EN

Stack Overflow用户
提问于 2010-05-25 18:36:41
回答 6查看 17.1K关注 0票数 83

为什么Python异常被命名为“错误”(例如ZeroDivisionErrorNameErrorTypeError)而不是“异常”(例如ZeroDivisionExceptionNameExceptionTypeException)。

我来自Java背景,最近开始学习Python,因此这是令人困惑的,因为在Java中错误和异常是有区别的。

Python也有区别吗?

EN

回答 6

Stack Overflow用户

发布于 2010-05-25 18:58:29

  1. 你不能在名字中用‘
  2. ’命名每个类,在名字中用'_variable‘命名每个变量。同样,你也不能用“exception”这个词来命名Exception。名称应该能说明对象的含义。“Error”是大多数exceptions.
  3. Not的含义,所有异常都是错误。SystemExitKeyboardInterruptStopIterationGeneratorExit都是异常,而不是错误。actual errors中的单词'Error‘表示difference.
  4. 'Error’比'Exception‘短。这可以在不损失意义的情况下节省代码宽度中的几个字符。这有些不同。
票数 98
EN

Stack Overflow用户

发布于 2010-05-26 01:20:43

我相信这个约定来自于PEP 8 - Style Guide for Python Code

异常名称

因为异常应该是类,所以类命名约定在这里适用。但是,您应该在异常名称上使用"Error“后缀(如果异常实际上是一个错误)。

票数 50
EN

Stack Overflow用户

发布于 2010-05-25 19:04:03

在这方面,Python与Java非常相似。但是Python的异常应该与Java的Throwable进行比较。

由于Throwable有各种各样的类型-- Error、RuntimeException和( checked ) Exception --Python也是如此(尽管没有checked Exception)。

至于语言,错误是例外的,因此继承层次结构并不奇怪。

不过,我并不是特别喜欢Exception这个名字。异常不仅用于异常情况(希望是错误),而且还用于跳出控制流。因为这就是异常所做的;它会跳出正常的控制流,跳到一个标记点。有点像goto,但更精致。

也就是说,每次遇到找不到合适的返回值的情况时,都倾向于使用异常。两者都在Python中,就像在Java中一样。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2903827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档