python - Python 是否具有相当于 throw new Exception ("text here"的 Java)

标签 python exception

我是 Java 开发人员,刚接触 Python,我正在将 Java 类重写为 Python 类。我试图尽可能地模仿我的 Python 类中原始类的流程。 Java 类有几行,

    if(condition)
       throw new Exception("text here")

我一直在查看 Python documentation for exceptions并且未能找到与 Java 语法等效的 Python。

我已经通过阅读此 StackOverflow post 尝试使用 raise Exception("text here") 进行一些操作(我认为很接近)但似乎这是在 try except block 中使用,并且会导致从 try block 跳转到 except block ;我正在尝试避免 try except block 并抛出异常。

我认为可行的解决方案是,

    try:
        if(condition):
           raise Exception("text here")
    except:
        ...

但我想知道是否有一种方法与 Java 方法更密切相关,以便我可以尽可能多地维护流程(让它们看起来相似)。

最佳答案

异常处理可能是 Python 在语法和语义上与 Java 差异最小的一个重要方面。它实际上只是 raise Exception("text here")。不,它不必在词法上位于 try block 中。与在 Java 中一样,它向上传播调用堆栈,直到它最终遇到一个 try block (具有匹配的 except 子句),或者如果没有这样的 block ,它会终止程序并打印一条错误消息。

关于python - Python 是否具有相当于 throw new Exception ("text here"的 Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24744735/

相关文章:

c++ - 如何为 python 编译 C/C++ 函数

python - 使用类外部定义的类方法时出错

python - Pyplot 图例索引错误 : tuple index out of range

android - SQLite 异常 : near "" :syntax error (code 1) while compiling

python - 如何使用 boto 将文件上传到 S3 存储桶中的目录

python - 电子邮件错误.HeaderParseError : header value appears to contain an embedded header:

使用 Entity Framework 6 时要处理的异常

C#异常处理范围

java - Rational Functional Tester - 多个应用实例不工作

java - 反射访问控制异常