Получение исключения в onGuildMessageReceivedEvent - Discord JDA
Я создаю бота Discord JDA, который может, когда пользователь отправляет сообщение: Prefix("$") + hastebin + их код, бот создает запрос на hastebin и вставляет их код, после чего он принимает URL-адрес для вставки и распечатайте его на консоли (я отправлю его в виде сообщения после решения проблемы).
Это мой класс HastebinCommand:
package events;
import main.Hastebin;
import Info.Info;
import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.core.hooks.ListenerAdapter;
import java.lang.*;
public class HastebinCommand extends ListenerAdapter
{
Info info;
Hastebin hastebin;
@Override
public void onGuildMessageReceived(GuildMessageReceivedEvent event)
{
String[] message = event.getMessage().getContentRaw().split(" ");
if (message[0].equalsIgnoreCase(info.prefix + "hastebin") || message[0].equalsIgnoreCase(info.prefix + "haste"))
{
if (message.length == 1)
{
//Send an error message
}
else
{
String code = "";
for (int i = 1; i < message.length; i++)
{
code = code + "" + message[i];
}
System.out.println(hastebin.paste(code));
}
}
}
}
Это мой класс запроса на Hastebin:
package main;
import org.json.JSONObject;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Hastebin
{
public static String paste(String content) throws Exception{
final HttpClient client = HttpClient.newHttpClient();
final HttpRequest request = HttpRequest.newBuilder(URI.create("https://hastebin.com/documents"))
.POST(HttpRequest.BodyPublishers.ofString(content)).build();
final HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
final String responseContent = response.body();
final JSONObject responseJson = new JSONObject(responseContent);
final String key = responseJson.getString("key");
return "https://hastebin.com/" + key;
}
}
Моя ошибка:
C: \ Users \ user \ Documents \ Java \ Java Projects \ DiscordJDA \ SpoonfeedingBot \ src \ events \ HastebinCommand.java Ошибка:(32, 50) java: незарегистрированное исключение java.lang.Exception; должен быть пойман или объявлен брошенным
Я был бы очень признателен за помощь после того, как так долго пытался решить мою проблему.
0 ответов
Некоторая функция, которую вы используете, генерирует исключение, которое необходимо обработать (отмеченное исключение). Всякий раз, когда у вас есть проблема с исключением, вы должны сначала погуглить исключение. Например, в этом случае вы можете вставить "незарегистрированное исключение java.lang.Exception; должно быть обнаружено или объявлено как выброшенное" в поисковую систему Google, и вы получите свое объяснение.
Вот руководство по исключениям: https://www.tutorialspoint.com/java/java_exceptions.htm
Кроме того, ваше сообщение на Stackru должно быть посвящено самой ошибке, другими словами "незарегистрированное исключение java.lang.Exception".