Mysql 如何在node.js中模拟协议\连接\丢失错误?

Mysql 如何在node.js中模拟协议\连接\丢失错误?,mysql,node.js,Mysql,Node.js,如何在mysql for node.js中模拟“协议连接丢失”错误 如果我得到错误,我的应用程序就会崩溃,我不知道如何重现这个错误 谢谢。听起来你的应用程序好像正在崩溃,因为它没有处理错误。如果是这样的话,您可能需要签入初始化MySQL连接的文件 至于错误,“PROTOCOL\u CONNECTION\u LOST”只是一个通用的错误对象。如果您想将其放入应用程序中(而不是实际停止MySQL的工作): 把它放在你想抛出错误的代码行中 如果您想模拟MySql抛出此错误,一种(不推荐的方法)是侵入l

如何在mysql for node.js中模拟“协议连接丢失”错误

如果我得到错误,我的应用程序就会崩溃,我不知道如何重现这个错误


谢谢。

听起来你的应用程序好像正在崩溃,因为它没有处理错误。如果是这样的话,您可能需要签入初始化MySQL连接的文件

至于错误,“PROTOCOL\u CONNECTION\u LOST”只是一个通用的错误对象。如果您想将其放入应用程序中(而不是实际停止MySQL的工作):

把它放在你想抛出错误的代码行中


如果您想模拟MySql抛出此错误,一种(不推荐的方法)是侵入lib。
连接
对象可以访问
协议
对象,该对象有一个隐藏的方法
\u delegateError
,该方法是发生协议错误时激发的方法。来源:

这是连接协议丢失的解决方案。这个解决方案解决了我的问题

这里是数据库连接

constmysql=require('mysql')

const connection=mysql.createConnection({
主机:'localhost',
用户:'root',
密码:'******',
数据库:'db_name'
});
connection.connect(函数(错误){
if(!!错误)console.log(错误);
else console.log('SQL Database Connected!');
});

module.exports=连接
`

只需使用pm2运行节点服务器 例如pm2启动app.js

我不知道关于
node.js的任何信息,但是当与数据库的连接丢失时,是否会发生此错误?在这种情况下,为了复制它,您需要停止mysql服务。但我真的不确定,因为我不是node.js developerPlease发布SELECT@@version的结果;并选择@@log\u警告;因此,我们知道您使用的版本和警告级别。还有在请求处理结束时连接到mysql的代码。
const err = new Error('Connection lost: The server closed the connection.');
err.fatal = true;
err.code = 'PROTOCOL_CONNECTION_LOST';
throw err;