gpt4 book ai didi

Java try/catch args[0] 未找到

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:06 25 4
gpt4 key购买 nike

尝试在找不到 args[0] 时找到正确的错误。

class Main
{
public static void main(String[] args)
{
try
{
String filename = args[0];
}
catch (ExceptionInThread e)
{
System.out.println(“No file found”);
}
}
}

我不断收到相同的错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: o at Main.main(Main.java:9)

有人可以告诉我如何找到要捕获的正确错误吗?

最佳答案

由于所有异常都继承自 Exception ,这就是全部内容:

public static void main(String[] args){
try {
String filename = args[0];
} catch (Exception e) {
System.out.println("No file found");
}
}

但这通常是不好的做法,因为您会捕获每种类型的错误 - 不要这样做。

回答您的问题:您在错误消息中找到异常名称/类型线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常,其中ArrayIndexOutOfBoundsException是要捕获的异常:

catch (ArrayIndexOutOfBoundsException e)您所做的是捕获错误的异常,这就是错误未被捕获的原因。 就您而言,这也不是最干净的方法

在我看来,最好的方法是在尝试访问 args 数组之前检查它:

ìf args.length > 0

如果你想打印错误,你可以使用System.err.println("No file found");而不是System.out

关于Java try/catch args[0] 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42243122/

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