java - 如何将 OUT String 参数传递给函数?
问题描述
如何将 OUT String 参数传递给函数?就像是
public static Address getFromLocation (OUT string ErrorMsg) { ... }
如果在 getFromLocation 中发现一些错误,那么该函数将更新我以后可以使用的 ErrorMsg。
如果不可能,在我的示例中,我如何检索 errorMsg ?
解决方案
Java 没有“out”参数。
在 Java 中有几种标准(ish)方法可以做到这一点(报告错误):
抛出异常,可能是专门为此目的定义的类型,并在异常中提供详细信息。
非常次优:返回一个具有地址属性和错误字符串属性的对象;成功的情况下填写地址并留下错误字符串
null
,错误情况下填写错误字符串并留下地址null
。List<String>
将 a或类似参数传递给方法(感谢a_horse_with_no_name的提醒),并在错误情况下添加到列表中,返回null
.Address
...或这些主题的各种变体。
#1和#3比#2更可取。#1 提供结构化异常处理。(例如,方法调用getFromLocation
可能选择不处理异常,而是记录它可能会抛出该异常,将错误处理留给它的调用者。)#3 当你有很多这样的方法和错误时特别有用case 很常见(用户输入验证),并且您希望呈现一系列错误。
推荐阅读
- sql - 通过在列中应用条件来获取数据
- apache-kafka - Strimzi Kafka 在 GKE 升级期间“没有匹配侦听器的代理”
- node.js - typegoose/mongoose 从模型类获取新文档的正确方法是什么
- javascript - 未捕获的类型错误:deleteButton 不是 HTMLButtonElement.onclick 处的函数
- python - Python程序触发成功和失败任务的电子邮件
- swift - 如何在蓝牙车载设备上显示来电名称而不是号码
- powershell - 增加一个前导零的数字
- excel - 插入行后清除某些列
- android - git:哪个 iOS 生成文件以在颤振项目中提交?
- laravel - 如何从 id [Laravel] 创建插入相关字段值