当 args[0] 不工作时我该怎么办? JDA 生成器
What can I do when args[0] is not working? JDA Builder
我尝试使用 JDA 编写 Discord Bot 代码,但是当我尝试启动该程序时,它不起作用。
这是我的代码:
import javax.security.auth.login.LoginException;
import net.dv8tion.jda.api.AccountType;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.*;
public class Main {
public static void main(String[] args) throws LoginException, InterruptedException {
JDABuilder builder = JDABuilder.createDefault(args[0]);
builder.setToken("token");
builder.setStatus(OnlineStatus.ONLINE);
builder.build();
}
}
这是控制台输出:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 at de.DiscordBot.Main.main(Main.java:15)
我认为问题出在 (args[0]) 但我不确定。
通常,在 main
方法中,您需要检查输入数组的长度。如果您在没有任何参数的情况下启动您的程序,那么 args 将为空。
一般来说,我会按照
if (args.length>0) {...}
因为这可以保护您免受 ArrayIndexOutOfBoundsException
。
我尝试使用 JDA 编写 Discord Bot 代码,但是当我尝试启动该程序时,它不起作用。
这是我的代码:
import javax.security.auth.login.LoginException;
import net.dv8tion.jda.api.AccountType;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.*;
public class Main {
public static void main(String[] args) throws LoginException, InterruptedException {
JDABuilder builder = JDABuilder.createDefault(args[0]);
builder.setToken("token");
builder.setStatus(OnlineStatus.ONLINE);
builder.build();
}
}
这是控制台输出:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 at de.DiscordBot.Main.main(Main.java:15)
我认为问题出在 (args[0]) 但我不确定。
通常,在 main
方法中,您需要检查输入数组的长度。如果您在没有任何参数的情况下启动您的程序,那么 args 将为空。
一般来说,我会按照
if (args.length>0) {...}
因为这可以保护您免受 ArrayIndexOutOfBoundsException
。