gpt4 book ai didi

java - 在 Java 中抛出异常或断言

转载 作者:行者123 更新时间:2023-11-29 07:06:51 24 4
gpt4 key购买 nike

一个非常菜鸟的问题。我正在编写一个方法,它接受两个数组,然后从中创建一个 HashMap 。例如:

HashMap<String,String> createHash(String[] arr1, String[] arr2){
//the logic is very simple
HashMap<String,String> hshmp= new HashMap<String,String>();
for (int i=0; i < arr1.length;i++){
hshmp.put(arr1[i],arr2[i]);
}
return hshmp
}

现在我要检查的第一件事是 arr1 和 arr2 的尺寸..它们是否相同

如果没有......那么程序退出(优雅地??详细??)

通常这是断言???正确的??但我认为 Java 中的断言是可选的,您必须启用它?

有什么好的方法可以解决这个问题?

最佳答案

异常和断言之间的选择在某种程度上取决于方法的使用方式。

断言旨在验证内部假设 - 如果您可以控制对 createHash 的所有调用,并且由于您的代码逻辑,应该不可能使用不同的方法调用 - length 输入,那么断言可能是合适的。我们的想法是,您可以在开发期间启用断言以验证您的假设,然后出于性能原因在生产中禁用它们。

对于可能接受您无法控制的用户输入的方法,或者是公共(public) API 的一部分,或者是许多开发人员在内部使用的库的方法,那么异常会更合适,因为异常保证被抛出。在公共(public)方法中,您需要更加主动地检查您的输入,而抛出异常通常是这样做的方式。

关于java - 在 Java 中抛出异常或断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18747180/

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