首页 > 解决方案 > 如何将 OUT String 参数传递给函数?

问题描述

如何将 OUT String 参数传递给函数?就像是

public static Address getFromLocation (OUT string ErrorMsg) { ... }

如果在 getFromLocation 中发现一些错误,那么该函数将更新我以后可以使用的 ErrorMsg。

如果不可能,在我的示例中,我如何检索 errorMsg ?

标签: java

解决方案


Java 没有“out”参数。

在 Java 中有几种标准(ish)方法可以做到这一点(报告错误):

  1. 抛出异常,可能是专门为此目的定义的类型,并在异常中提供详细信息。

  2. 非常次优:返回一个具有地址属性和错误字符串属性的对象;成功的情况下填写地址并留下错误字符串null,错误情况下填写错误字符串并留下地址null

  3. List<String>将 a或类似参数传递给方法(感谢a_horse_with_no_name的提醒),并在错误情况下添加到列表中,返回null.Address

...或这些主题的各种变体。

#1和#3比#2更可取。#1 提供结构化异常处理。(例如,方法调用getFromLocation可能选择不处理异常,而是记录它可能会抛出该异常,将错误处理留给它的调用者。)#3 当你有很多这样的方法和错误时特别有用case 很常见(用户输入验证),并且您希望呈现一系列错误。


推荐阅读