node.js - 当我使用 throw 语句时,有什么方法可以改变错误消息的颜色吗?

标签 node.js colors console throw

我知道一些可以更改控制台文本颜色的工具,例如 chalk 。但是当我使用 throw 语句打印错误消息并需要将其红色时:

const chalk = require('chalk');

throw new Error(chalk.red('some error messages'));

它失败了,没有红色的错误消息:

?[31msome error messages?[39m

有没有办法改变由throw语句引起的错误消息的颜色?

最佳答案

您必须将 throw() 调用放在 try/catch block 中。这样,您就可以捕获错误并使用 console.log() 对其进行格式化。

示例:

// The try/catch block
function run() {
    try {
        myAction();
    }
    catch (err) {
        console.log('%c ' + err.message, 'background: red; color: white');
    }
}

// Your action 
function myAction() {
    throw new Error('some error message');
}

现在您只需调用 run() 即可在控制台中查看格式化错误。

关于node.js - 当我使用 throw 语句时,有什么方法可以改变错误消息的颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48377687/

相关文章:

node.js - 如何获取具有不同值(其中其他值最低)的 (Node.js) MongoDB 文档?

java - 如何将 javaw.exe 控制台输出重定向到日志文件?

javascript - 嵌套循环 - 这是不好的做法吗

node.js - 在AWS lambda上调用中间件函数(不带express)

node.js - 保存父级时,Sequelize 自动保存关联对象

javascript - highcharts自定义颜色和tootip点颜色

r - 如何使用 HSL(Hue Saturation Lightness)圆柱颜色模型

javascript - 更改 Phaser.Sprite 某些颜色的不透明度

ruby-on-rails - Rubymine 使用 Rails 控制台中的生成器

php - 在 php 后台运行控制台应用程序的最佳方法是什么?