我通常使用Qt框架在C ++中编码。对于错误处理,我使用Qt使用的标准,当函数意外运行时调用errorString()
之类的函数。对于我正在进行的当前项目,我需要用Java编写我的代码,并且在Java中使用带有 try-catch-finally 机制的异常是很常见的。
我的问题是,在Java中使用errorString()
类似方法进行错误处理会是一个很大的错误。使用errorString()
以外的异常有哪些优缺点。
谢谢。
答案 0 :(得分:3)
优点是(根据Oracle的Advantages of Exceptions文章):
编写惯用代码通常是一个好主意,坚持你所开发语言的惯例和实践。正如我所看到的,这本身就是一个优势。
就缺点而言,在我的头脑中:
至于它是否会出错,好吧,只要整个团队都是Qt主谋并且必须在意外的基础上用Java编写一些东西,这段代码永远不会必须由任何应该是Java专家的人管理,然后确保 - 为自己和团队创造一个熟悉的环境。但在任何其他情况下,我强烈建议您使用例外。
答案 1 :(得分:0)
优势完全取决于您的实现...例如,请参阅,您可以捕获一个特定的异常,将其包装并抛出其父异常(一种非常广泛使用的机制......)。通过这种方式,您可以拥有异常层次结构,并以一般方式处理所有异常...假设您有一个数据库,并且由于某种原因假设您遇到连接异常......现在,您不必担心处理该异常然后..你说你的方法“抛出”这个异常并让调用者担心它...调用者可能会等待一段时间再尝试连接到DB ,,,此外你可以使用finally来释放资源/ clean up ...你正在做的不仅仅是errorString()(打印错误信息..)。如果你想要,你也可以在这里包括登录..