如何根据操作码 (discord.js) 分离捕获的错误
How to separate caught errors based on their OPCODE (discord.js)
所以基本上,我有一个机器人,它的部分功能是在公会(discord 服务器)内部创建通道。我有通用的错误处理程序和 catch 块,但我想知道如何分离操作码“30013”的错误 'Maximum number of guild channels reached (500)',因此如果这是错误,它会显示一条消息,说明已创建最大数量的通道,并允许捕获其他错误。
理想情况下,所有错误仍然可以被捕获,但如果错误是所需的错误,它将按照我的要求执行,而不是像错误处理程序那样简化错误 JSON 响应。
检查错误对象并查看 属性 与其他对象的区别(很可能是 code
属性)。一旦你知道,检查你的 catch 块中的 属性 是否与所需的匹配。如果匹配,请继续使用您的特定代码。
如果收到的错误响应与 this link.
相匹配,那么这些行应该可以正常工作
try {
// You code here
}
catch(err) {
if (err.code == 30013) {
// feedback code here
}
}
因为我不确定您是否使用异步,所以我将介绍标准 try/catch
格式与 .catch
格式。不管逻辑应该是一样的。
所以基本上,我有一个机器人,它的部分功能是在公会(discord 服务器)内部创建通道。我有通用的错误处理程序和 catch 块,但我想知道如何分离操作码“30013”的错误 'Maximum number of guild channels reached (500)',因此如果这是错误,它会显示一条消息,说明已创建最大数量的通道,并允许捕获其他错误。
理想情况下,所有错误仍然可以被捕获,但如果错误是所需的错误,它将按照我的要求执行,而不是像错误处理程序那样简化错误 JSON 响应。
检查错误对象并查看 属性 与其他对象的区别(很可能是 code
属性)。一旦你知道,检查你的 catch 块中的 属性 是否与所需的匹配。如果匹配,请继续使用您的特定代码。
如果收到的错误响应与 this link.
相匹配,那么这些行应该可以正常工作try {
// You code here
}
catch(err) {
if (err.code == 30013) {
// feedback code here
}
}
因为我不确定您是否使用异步,所以我将介绍标准 try/catch
格式与 .catch
格式。不管逻辑应该是一样的。