ethers.js icon indicating copy to clipboard operation
ethers.js copied to clipboard

Cannot catch thrown error by Websocket provider ("code":-32000,"message":"method handler crashed")

Open waterdrop01 opened this issue 3 years ago • 2 comments

Describe the bug Here is the error that is thrown by ethers:

/home/me/node_modules/@ethersproject/providers/lib/websocket-provider.js:123
                        error = new Error(result.error.message || "unknown error");
                                ^

Error: method handler crashed
    at WebSocketProvider._this._websocket.onmessage (/home/me/node_modules/@ethersproject/providers/lib/websocket-provider.js:123:33)
    at WebSocket.onMessage (/home/me/node_modules/@ethersproject/providers/node_modules/ws/lib/event-target.js:132:16)
    at WebSocket.emit (node:events:394:28)
    at Receiver.receiverOnMessage (/home/me/node_modules/@ethersproject/providers/node_modules/ws/lib/websocket.js:834:20)
    at Receiver.emit (node:events:394:28)
    at Receiver.dataMessage (/home/me/node_modules/@ethersproject/providers/node_modules/ws/lib/receiver.js:437:14)
    at Receiver.getData (/home/me/node_modules/@ethersproject/providers/node_modules/ws/lib/receiver.js:367:17)
    at Receiver.startLoop (/home/me/node_modules/@ethersproject/providers/node_modules/ws/lib/receiver.js:143:22)
    at Receiver._write (/home/me/node_modules/@ethersproject/providers/node_modules/ws/lib/receiver.js:78:10)
    at writeOrBuffer (node:internal/streams/writable:389:12) {
  code: -32000,
  response: '{"jsonrpc":"2.0","id":36,"error":{"code":-32000,"message":"method handler crashed"}}'
}

There should be a way to catch this type of error, to avoid a node.js restart.

Thanks!

waterdrop01 avatar Nov 17 '21 07:11 waterdrop01