_execThrownMsg.mjs

import getErrorMessage from './getErrorMessage.mjs'
import errToStr from './_errToStr.mjs'


/**
 * 執行外部程序之入口讀取呼叫端輸入失敗時之訊息,內部共用不對外
 *
 * 取execSpawnError所得之message;其只得code(呼叫端拋出非Error之值,如字串、null,取不到message而以code代之)時改取getErrorMessage,為空退_errToStr,保留拋出值之文字(R-EXEC-FAIL-01之13)
 *
 * 使用端: execCli、execCliSession、execCliJsonRpc、execProcess之入口catch
 *
 * @param {Object} e 輸入execSpawnError之結果物件{ code, message }
 * @param {*} err 輸入捕捉之原始錯誤值
 * @returns {String} 回傳訊息字串
 */
function execThrownMsg(e, err) {
    let m = e.message
    if (m === e.code) {
        m = getErrorMessage(err)
        if (m === '') {
            m = errToStr(err)
        }
    }
    return m
}


export default execThrownMsg