【问题标题】:How to determine if java function executed successfully如何判断java函数是否执行成功
【发布时间】:2018-01-25 04:53:49
【问题描述】:

在 c++ 中,我通常将 byRef 变量作为参数传递给函数以获取我需要返回的信息,并且我会从函数返回布尔值或 int 值以确定函数是否成功执行(在任何时候都没有发生错误)。

我不能在 Java 中这样做,因为您只能通过 byVal,并且可以返回一件事。

我猜你可以返回一些数组或列表,但我觉得这是不好的编码习惯。

有什么合适的方法来处理这个问题?

【问题讨论】:

  • 您还返回什么?
  • 对象,在一个函数中只做一件事是正确的方式
  • 标准做法绝对是“失败时抛出异常,否则假定成功”
  • 您可以通过传递可变容器来模拟 byref 参数。但更传统的方法是要么抛出异常,如上面建议的那样,要么返回一个封装了您需要的任何附加信息的包装器对象。

标签: java error-handling return pass-by-value


【解决方案1】:

如果你想完全像在 c++ 中那样做,你可以通过它的包装类通过引用传递一个原语(例如,类 Integer 用于原语 int)。但我同意下面的问题,即在 Java 中执行此操作的“正确方法”是在失败时抛出异常。如果您不喜欢这两种想法,您仍然可以在实现您正在执行的方法的类中使用静态变量,让它们由该方法设置并由调用方法/类读取,但这也不是一个好的编码习惯除非出于任何原因没有其他选择,否则不应这样做。

【讨论】:

    猜你喜欢
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多