Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “如何修复”;System.Reflection.TargetInvocationException已被抛出;_C#_Bots - Fatal编程技术网

C# “如何修复”;System.Reflection.TargetInvocationException已被抛出;

C# “如何修复”;System.Reflection.TargetInvocationException已被抛出;,c#,bots,C#,Bots,我正在学习制作discord机器人的教程,在学习了设置机器人的基本知识之后,我不断遇到以下异常: 已引发System.Reflection.TargetInvocationException异常。调用的目标已引发异常 这是我的代码: using Discord.Commands; using Discord; using System; namespace TestBot { public class MyBot { DiscordClient discord;

我正在学习制作discord机器人的教程,在学习了设置机器人的基本知识之后,我不断遇到以下异常:

已引发System.Reflection.TargetInvocationException异常。调用的目标已引发异常

这是我的代码:

using Discord.Commands;
using Discord;
using System;
namespace TestBot
{
    public class MyBot
    {
        DiscordClient discord;

        public MyBot()
        {
            discord = new DiscordClient(x =>
            {
                x.LogLevel = LogSeverity.Info;
                x.LogHandler = Log;
            });
            discord.UsingCommands(x =>
            {
                x.PrefixChar = '!';
                x.AllowMentionPrefix = true;
            });
            var commands = discord.GetService<CommandService>();

            commands.CreateCommand("test")
                    .Do(async (e) =>
            {
                await e.Channel.SendMessage("response");
            });
             discord.ExecuteAndWait(async () =>
            {
                await discord.Connect("BOT_TOKEN", TokenType.Bot);
            });

        }

        private void Log(object sender, LogMessageEventArgs e)
        {
            Console.WriteLine(e.Message);
        }
    }
}
我不知道如何解决这个问题,所以任何帮助都将不胜感激


(由于这是我在这里的第一篇帖子,任何关于如何改进我的帖子的建议都将不胜感激。)

您出现异常的真正原因是对您隐瞒。要解决此问题,您需要查看内部异常(如果需要,还需要查看该异常的内部异常等等)。这将使您能够看到问题的根本原因,并了解如何解决问题

当代码在调试模式下中断时,可以查看内部异常

单击查看详细信息将允许您查看有关异常的更多信息


一旦你找到了异常的真正原因,我建议你发布一个新的问题,询问如何解决这个特定的问题(如果你自己不能解决的话)

在我的例子中,它是由一些内部代码中的某个异常引起的,该异常是通过堆栈抛出的,当出现并显示异常窗口时,异常消息已丢失,因此它显示了一条无用的消息
System.Reflection.TargetInvocationException已抛出。

解决方案是,打开“异常设置”窗口,检查所有项目,以便在发生任何类型的异常时它都会中断,这样您就可以在最初始的位置捕获异常,从而可以轻松地消除错误原因


我的想法来自于。

应该有一个内在的例外,看看it@Gusman我应该寻找什么?内部异常将具有真正的异常该异常不提供内部异常,除非您捕获它,在许多情况下,它不知道该异常发生在何处,因此这没有帮助。
discord.ExecuteAndWait(async () =>
            {
                await discord.Connect("BOT_TOKEN", TokenType.Bot);
            });