Python 引发异常vs引发错误
我的家庭作业问题的措辞如下: 试图操纵窗口已关闭的海龟会引发错误。Python 引发异常vs引发错误,python,Python,我的家庭作业问题的措辞如下: 试图操纵窗口已关闭的海龟会引发错误。 正确 假的 我的书的措辞是“引发一个例外”。所以这两个词之间有区别吗。我觉得这是一个骗人的问题。来自 因为异常应该是类,所以类命名约定在这里适用。但是,您应该在异常名称上使用后缀“Error”(如果异常实际上是一个错误) 因此,“错误”是异常的命名约定。然而,您会发现,并非所有异常都以“Error”结尾 异常与错误的术语有历史渊源,但如果我们谈论的是纯Python(从): 您可以看到,所有“错误”都继承自standarderro
正确
假的 我的书的措辞是“引发一个例外”。所以这两个词之间有区别吗。我觉得这是一个骗人的问题。来自 因为异常应该是类,所以类命名约定在这里适用。但是,您应该在异常名称上使用后缀“Error”(如果异常实际上是一个错误)
因此,“错误”是异常的命名约定。然而,您会发现,并非所有异常都以“Error”结尾 异常与错误的术语有历史渊源,但如果我们谈论的是纯Python(从): 您可以看到,所有“错误”都继承自
standarderro
,它本身就是一种异常
我会从对这个问题的怀疑中获益,并假设它会引起某种错误(可能是操作错误?)是迂腐的。实际提出的对象是一个例外,不管情况是否是错误。您是否花时间搜索您的问题?有关差异的解释,请参阅。@jp_data_analysis据我所知,这并不能区分“错误”和“异常”是的,我已经在谷歌上搜索过了,我仍然不确定答案。而且我事先也检查过文件。一切都说异常是一个错误,因此我感到困惑。@jp_data_analysis链接的简短版本:异常是在运行时引发的错误(因此您可以编写代码来处理它们),在Python中,这基本上意味着除了语法错误之外,每个错误都是异常(在某些动态代码执行上下文中可以在运行时引发,但这与本例无关,一般来说,如果您有实际语法错误,您的代码将无法运行,并且不可能处理该问题).谢谢你,我倾向于以真实的方式回答。它还没有到期,所以我将等待,看看是否有其他人插话。我只是觉得,因为它使用了不同于书中所写的措辞,它可能是一个骗局,实际上是假的。
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- StandardError
| +-- BufferError
| +-- ArithmeticError
| | +-- FloatingPointError
| | +-- OverflowError
| | +-- ZeroDivisionError
| +-- AssertionError
| +-- AttributeError
| +-- EnvironmentError
| | +-- IOError
| | +-- OSError
| | +-- WindowsError (Windows)
| | +-- VMSError (VMS)
| +-- EOFError
| +-- ImportError
| +-- LookupError
| | +-- IndexError
| | +-- KeyError
| +-- MemoryError
| +-- NameError
| | +-- UnboundLocalError
| +-- ReferenceError
| +-- RuntimeError
| | +-- NotImplementedError
| +-- SyntaxError
| | +-- IndentationError
| | +-- TabError
| +-- SystemError
| +-- TypeError
| +-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning