ошибки, выданные внутри npm mysql библиотеки, вызывают cra sh - throw err; // Rethrow non- MySQL ошибки - PullRequest
0 голосов
/ 01 мая 2020

Я сейчас использую библиотеку mysql для проекта. Я кое-что заметил.

    try {
        let number = req.params.number;
        number = parseInt(number, 10);
        if (number && number % 10 == 0 && number > 0) {
            pool.query(
                `select * from posts limit ${number - 10}, ${10}`,
                function (err, result) {
                    if (err) {
                        throw "Url incorrect, ensure that the params % 10 == 0";
                    }
                    // if (!result.length) {
                    //  throw "No more posts available";
                    // }
                    const response = result.map(function (item) {
                        return {
                            ...item,
                            files: item.files
                                ? item.files.split(",").map(function (item) {
                                        return (
                                            "http://localhost:4000/files/" +
                                            item
                                        );
                                  })
                                : [],
                        };
                    });
                    res.json({
                        valid: true,
                        data: response,
                        nextPage: number + 10,
                    });
                }
            );
        } else {
            throw "Something went wrong";
        }
    } catch (err) {
        console.log(err);
        res.json({ valid: false, msg: err });
    }

Это часть моего кода. Здесь, когда длина результата равна 0, я выкидываю ошибки и console.log в блоке catch. Но я заметил, что программа вылетает и печатает throw err; // Rethrow non-MySQL errors ^ No more posts available (Use `node --trace-uncaught ...` to show where the exception was thrown) npm ERR! code ELIFECYCLE....... в терминале. Я не понимаю, какую ошибку я делаю?

...