java - 获取数组长度时出错抛出异常
问题描述
我目前对此功能有疑问。我收到 getSongsArray(numSongs) 中的 numSongs 错误;说我需要抛出一个异常(未报告的异常 Exception;必须被捕获或声明被抛出)。以下是我目前拥有的说明和代码。我只是一个女孩,现在已经为此苦苦挣扎了大约 3 个小时,此时我很绝望。
说明: 编写一个名为 getSongsArray 的方法,该方法接受一个整数参数 (numSongs),返回一个字符串数组,并声明抛出一个异常。如果传递的参数是负值,则抛出异常。否则,循环 numSongs 次,每次通过循环提示用户输入另一个名称。返回此名称数组。
调用 getSongsArray 传递您想要返回的数组的大小(任何整数)
public static void main(String[] args)
{
Scanner scnr = new Scanner(System.in);
System.out.println("How many songs would you like to enter?");
int numSongs = scnr.nextInt();
getSongsArray(numSongs);
} //end main
public static int getSongsArray(int numSongs) throws Exception
{
if (numSongs <= 0)
{
throw new Exception("Invalid Number");
}
} //end getSongsArray
解决方案
你的问题是它getSongsArray
可以抛出一个异常并且这没有被你的main
-function 捕获。
解决方案很简单:捕获错误消息;
public static void main(String[] args)
{
Scanner scnr = new Scanner(System.in);
System.out.println("How many songs would you like to enter?");
int numSongs = scnr.nextInt();
try {
getSongsArray(numSongs);
} catch (Exception e){
System.out.println("Error!");
}
} //end main
但是你仍然会遇到其他问题,因为你还没有完全完成你的任务。此处的这篇文章仅回答有关unreported exception
错误的具体问题!
推荐阅读
- ios - 组合 combineLatest 不等待上一个操作触发
- c# - 如何在 SQL 中批量从大表中选择记录
- swift - NSDocumentController.openDocument 不允许选择自定义文件类型
- android - 如何以及在哪里保存片段中回收器视图的状态
- android-studio - 颤振:运行面板在 android studio 的 mac 上没有检测到我的模拟器
- python - 使用ai提高刽子手获胜的几率
- spring - 如何将第三方 API 端点调用、下载文件、到我的新 API 中并公开端点以允许这样做?
- javascript - 如何根据MongoDB中的条件删除重复项?
- javascript - 如何“美化”/“简化”此代码以处理箭头键和 tabIndex?
- node.js - 带有 API 版本控制的 Swagger UI Express