【问题标题】:Exception model in Java, C++, Python [closed]Java、C++、Python 中的异常模型 [关闭]
【发布时间】:2013-02-27 18:38:15
【问题描述】:

嘿,我想知道 Java 异常模型在 C++ 和 Python 中有何不同?

我以为只有 Java 有检查异常,但从我读到的 Python 也有检查异常?

任何想法都会很棒,谢谢

【问题讨论】:

  • 是的 Python 支持异常处理。
  • 我认为 Python 的检查异常利用装饰器来模拟 Java 的 throws 声明。我不认为这是一个内置功能。
  • @GrijeshChauhan 异常处理!= 检查异常。
  • @WaleedKhan 什么“Python 的已检查异常”?我从来没有见过这样的东西,它是在一些不起眼的第三方库中吗?那么这不是真正可比的恕我直言。

标签: java c++ python exception checked-exceptions


【解决方案1】:

Python没有有检查异常。但它确实有异常处理机制......例如

def test():
    raise Exception()

try:
    test()
except Exception:
    print "bugger."

# but its totally legal to just call it, and let any uncaught exceptions propagate
test()

由于python虚拟机的设计,完全合法,

public static void TestMethod(){
    throw new Exception();
}

另一方面,运行代码可能抛出未在 Java 中明确检查的异常(编译器将检测到)是完全非法的。由于JVM和字节编译器的设计,它无法完成。

【讨论】:

    猜你喜欢
    • 2017-04-05
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    相关资源
    最近更新 更多