Не удается отловить ошибку при сбое команды при выполнении команды с использованием execSync - PullRequest
0 голосов
/ 21 марта 2020

Я использую execSyn c из пакета child_process для выполнения docker команд, но если выполняется неверная команда, я не смог бы отловить ошибку. Может ли кто-нибудь, пожалуйста, помогите мне с этим?

sample.ts
Issue Если выполняется недопустимая команда, она не может распечатать ошибку, заданную в блоке catch вместо выводит сообщение, указанное в блоке try

import {execSync} from 'child_process';

    dumpMongoDB = () => {
        // eslint-disable-next-line @typescript-eslint/no-unused-vars
        return new Promise((resolve, _reject) => {
            const db_config = databaseName;
            const mongoDumpCmd = `command to dumb database"`;
            try {
                console.log('Dumping database into local mongodb server...');
                execSync(`docker exec containerName ${mongoDumpCmd}`, {encoding: 'utf-8', stdio: 'inherit'});
                console.log('Dumping database into local mongodb server was successful!!');
                resolve();
            } catch (e) {
               console.log('Error dumping database to local mongodb instance.')
            }
        });
    };

...