当前位置: 首页 > 知识库问答 >
问题:

在onGuildMessageReceivedEvent中获取异常-不协调JDA

蒋无尘
2023-03-14

我正在制作一个不和谐的JDA机器人,当用户发送消息:前缀($)hastebin他们的代码时,机器人将创建一个请求hastebin并粘贴他们的代码,之后他将粘贴网址并打印到控制台(我将在解决问题后将其作为消息发送)。

这是我的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.例外;必须被抓住或宣布被抛出

在努力解决我的问题这么长时间后,我真的很感激得到帮助。

共有1个答案

陈弘厚
2023-03-14

您正在使用的某个函数正在抛出一个必须处理的异常(选中的异常)。当你遇到异常问题时,你应该先用谷歌搜索异常。例如,在本例中,您可以在google搜索引擎中粘贴“未报告的异常java.lang.exception;必须捕获或声明要抛出”,这样您就可以得到您的解释。

以下是关于异常的教程:https://www.tutorialspoint.com/java/java_exceptions.htm

另外,您的StackOverflow帖子应该是关于错误本身的,换句话说,“unreportedexceptionjava.lang.exception”。

 类似资料:
  • 我使用以下代码在 NTAG213 NFC 标签上设置 AUTH0(需要密码验证的第一页): 然而,当我在AUTH0上写00h(作为起始地址)时,总是会出现异常:“收发器失败”。 你能告诉我这里可能会出什么问题吗?

  • 我试图使用JDA编写一个discord bot,虽然我可以很容易地获得bot的存在,但我无法获得选定用户的存在。一个用例可能是用户输入类似的命令,然后机器人发送消息告诉用户他们正在玩什么游戏。据我所知,机器人不能在没有用户在场的情况下获得用户的游戏活动,我也看不到这样做的方法。如果我在文档中遗漏了它,请链接方法/类。

  • 我在练习Spring靴。我已经从git repo下载了Spring Boot代码,并将其导入到InteliJ IDEA上。在执行spring boot应用程序时,我得到了以下异常。你对此有什么想法吗?这是我的pom.xml org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/boot

  • 我正在尝试做我的第一个不和谐的JDA机器人与Java。(我找到的StackOverflow的大部分教程和问题都使用了Javascript,所以我认为应该提到它)。 我无法收到任何我发送到#通用频道的消息。我按照本教程编写了代码,并试图用此链接中的代码修复问题。 JDA版本:4.2.0240 IntelliJ版本:2020.3.2 JDK 11.0.9 Java SE 8 我的类: 输出中的一个警告

  • 下面的代码片段用于使用restful API调用我的web服务。 并在运行上述代码时获取此异常 我在谷歌上搜索了很多文章,没有找到我做错的地方。 旁注:war在我的机器上部署在Apache tomacat7中

  • 问题内容: 我在应用程序上加载一堆图像时遇到错误,我不确定是什么原因引起的。 这是他得到的错误。线135在底部。 我认为他的手机内存不足。他使用的是2010年生产的Desire HD。此方法的作用是从服务器获取图像并将其保存在哈希图中。以及将其显示在屏幕上。关于如何防止OUTMEMORYERROR的任何想法? 我当时正在考虑建立一个计数器,如果有超过20张图像,该计数器只会清除哈希图。 Logca