java - if 语句应该返回“IllegalArgumentException”,但它返回一个空字符串
问题描述
下面的 if 语句应该返回字符串“IllegalArgumentException”,但结果却是返回一个空字符串。
我试图设置一个字符串变量输出以将预期的字符串存储在 if 语句中。
public static String starString(int n){
if(n < 0){
String output = "";
return output = "IllegalArgumentException";
} else {
String stars = "";
for(int i = 0; i < Math.pow(2, n); i++){
stars += "*";
}
return stars;
}
}
我期待starString(-1)
回来
异常:IllegalArgumentException
但是错误消息是一个空字符串。
解决方案
以下语句是多余的:
返回输出 = "IllegalArgumentException";
相反,您应该只返回String
或抛出异常。
返回“IllegalArgumentException”;
或者
throw new IllegalArgumentException("你的消息");
至于它为什么要回归none
是无法理解的。因为我在这里运行了代码,并且将参数设置为-1
推荐阅读
- mongodb - 使用 mgo Golang 从 MongoDB 子文档数组中解组
- forms - 将参数从 jsp 表单发送到不同项目中的 java servlet
- android - 在Android中激活/停用全屏模式时如何禁用状态栏和导航栏动画
- c++ - 在 unique_ptr 中显式调用对象的复制构造函数
- javascript - 如何检查sequelize模型是否与数据库表匹配?
- python - 当您的训练/测试/验证数据未分类到文件夹中时如何使用 ImageDataGenerator
- ios - 在 Swift 中运行无头 WKWebView
- c# - WPF DataGrid - SelectedItem 在文本外的 FullRow 选择上没有改变
- r - dataExplorer::create_report 编译失败
- swift - 故事板中的 UIStackView 强制固有内容大小