TypeError [ERR_INVALID_ARG_TYPE] 尝试将错误写入 Nodejs 中的文件时

Posted

技术标签:

【中文标题】TypeError [ERR_INVALID_ARG_TYPE] 尝试将错误写入 Nodejs 中的文件时【英文标题】:TypeError [ERR_INVALID_ARG_TYPE] When trying to write err to file in Nodejs 【发布时间】:2021-08-26 04:59:09 【问题描述】:

所以我正在尝试制作一个错误处理程序,它发送一条消息说“哦,不!有一个未捕获的异常”,其中包含一个包含错误消息的文本文件,但每次我尝试这样做时,它总是这样说:

TypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received function toString

这是机器人的代码

process.on('uncaughtException', err => 
const Discord = require('discord.js');
const client = new Discord.Client();
const fs = require('fs');
const content = err;
const file = '.\errorlog.txt';
const callback = (err) =>  
console.log("The code has failed.")
console.log(err)
setTimeout(wait, 1000); ;
console.log("ERROR!!!! D:")
console.log(err)
client.login(no token for you lmao);
client.on('ready', () => 
    console.log("Ready To send Error Log")
    setTimeout(wait, 1000);
    let channel = client.channels.cache.get(I dont feel comfortable sending the channel ID)
    channel.send('Oh No! There was an uncaughtException!');
    fs.appendFile(__dirname + '/textFileName.txt', toString, function (err) 
        if (err) return console.log(err);
        console.log(err, ' > errorlog.txt');
    );
    console.log(err)
    channel.send("Error log", files: ['./.errorlog.txt']);
    setTimeout(shutdown, 500);
)
)

function shutdown () 
client.destroy();

我尝试搜索错误和我的情况,但没有发现任何有用的信息。

我正在使用什么:

Nodejs v15.2.1 Windows 10 x64 npm 7.0.8

谢谢。

【问题讨论】:

您的./.errorlog.txt 不存在或路径错误。并非每次您都将errorlog.txt 作为提供的代码 它确实存在,它实际上是它写入的唯一文件 你走对了吗 对不起,如果这很粗鲁,但我不明白你刚才说的话:| 看我的回答。我的意思是你的文件路径可能是错误的 【参考方案1】:

要使用 Discord.js 发送附件文件,您可以执行以下操作:


channel.send("Error log",
  files: [
    attachment: 'entire/path/to/file.text', // Make sure file path is right.Can try abosulte path first
    name: 'file.text'
  ]
)

【讨论】:

以上是关于TypeError [ERR_INVALID_ARG_TYPE] 尝试将错误写入 Nodejs 中的文件时的主要内容,如果未能解决你的问题,请参考以下文章

反应本机获取多标记[未处理的承诺拒绝:TypeError:TypeError:未定义不是对象(评估'this.state.markers.map

Django TypeError - TypeError: issubclass() arg 1 必须是一个类

pyspark:TypeError:'float'对象不可迭代

Python 3.8 TypeError: can't concat str to bytes - TypeError: a bytes-like object is required, not 's

TypeError: key 必须是一个字符串,一个缓冲区或一个对象在 typeError 与 GCP 文件存在

TypeError: jQueryxxxxxx 不是函数