gpt4 book ai didi

java - 使用异常类对错误建模

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:51:06 26 4
gpt4 key购买 nike

我想知道将异常类用作常规类来处理应用程序错误(只是常规控制错误,而不是异常错误)是否正确,而不用适当的语言子句抛出它们(例如实例化它们并返回它们从一个方法)。我最近一直在和一些大学讨论这个话题,我认为异常(exception)应该只是作为异常(exception),但我想听听更多的意见。

最佳答案

您所说的“受控错误”实际上是通过名称checked exception 知道的。

“特殊异常”被称为未经检查的异常

区别在这里解释:Checked vs Unchecked exception

所以,你看:Java自带了一个区分机制

  • 由编程错误引起的异常(例如 NullPointerException 将意外的 null 作为参数传递时)——未经检查的异常
  • 与应由调用者处理的预期异常(例如,当某种 I/O 出错时的 IOException)——已检查的异常

几乎在所有情况下,返回 Exception(或任何子类)的实例都将被视为滥用。


您可以询问您的同事,他/她将如何实现具有此签名的方法的异常结果:

public String createStringOrFailWithException();

返回一个异常?当然不是,因为这需要不同的返回类型。

Throw 异常允许您保留返回类型,并受益于大量异常处理功能,包括 finally block 和 try-with-resources 语句,仅举两个您不想(不应该)自己实现的示例。

关于java - 使用异常类对错误建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42350754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com