我是一个Java开发人员,他是Python的新手,我正在将Java类重写为Python类。我试图尽可能地模仿Python类中原始类的流。 Java类有几行,Python是否具有抛出新Exception的Java等价物(“text here”)
if(condition)
throw new Exception("text here")
我一直在寻找在Python documentation for exceptions而一直没能找到一个Python等同于Java语法。
我通过阅读这篇StackOverflow post试过的东西(我认为是接近)与raise Exception("text here")
,但它好像这是一个try
except
块内使用,将导致从try
块到except
块的跳跃;我试图避免try
except
块,只是抛出一个异常。
一个解决方案,我认为可能的工作是这样的,
try:
if(condition):
raise Exception("text here")
except:
...
但我想知道是否有一种方法更密切相关的Java方法,这样我可以保持尽可能多的流尽可能(有他们看起来相似)。
'raise'就像'throw'; 'try'就像'try'。你不需要*添加'try'块来在Python中使用异常。 – Ryan
Java异常完全相同:它们要么跳到最近的合适的catch块,要么产生堆栈跟踪:)尝试说'except:pass',看看会发生什么。 – Ashalynd
请注意,您可能会派生自己的异常:https://docs.python.org/2/tutorial/errors.html#user-defined-exceptions –