nodejs : sendSignedTransactiondeでのerror処理

1.sendSignedTransactiondeでのerror処理
・errorオブジェクトから、errorの値を取り出してresponceで返す

2.
・下のようなコードでのPromiseで受け取ったerrorオブジェクトから、errorの値を取り出す

const [ hash, err ] =
    await eth.sendSignedTransaction(web3, '0x'+serializedTx.toString('hex'));

3.errorの値を取り出してresponceで返すstep
(1) error objectをstringに変換
(2) 不要なwordを削除
(3) responceのendに渡す

const eth                       = require("./eth.js");
・・・

    const [ hash, _err ] = await  eth.sendSignedTransaction(web3, '0x'+serializedTx.toString('hex'));

    if (_err) {
        let ERR_KEYWORD = "Error: Returned error: ";
        let err = _err.toString();

        if(err.indexOf( ERR_KEYWORD ) !== -1) {
            err = err.replace( ERR_KEYWORD,"");
        }
        return res.status(400).end(err)
    }

4../eth.js

module.exports = {
    sendSignedTransaction   : _sendSignedTransaction,
}

async function _sendSignedTransaction(web3, transactionObject) {

    let hash;
    try {
        hash = await __sendSignedTransaction(web3, transactionObject) ;
    } catch (err) {
            return [false, err];
    }
    return [hash, null];

    function __sendSignedTransaction(web3, transactionObject) {

        return new Promise((resolve, reject) => {
            web3.eth.sendSignedTransaction(transactionObject, (error, hash) => {

                if( error ) {
                    return reject(error);
                }
                resolve (hash);
            });
        });
    }
}