Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 打印函数调用者的更好方法&x27;s线号_Javascript_Node.js - Fatal编程技术网

Javascript 打印函数调用者的更好方法&x27;s线号

Javascript 打印函数调用者的更好方法&x27;s线号,javascript,node.js,Javascript,Node.js,我有一个函数定义如下: printPrettyJson = function (json) { // logger.log(chalk.magenta(JSON.stringify(json, null, 4))) try { throw Error("printPrettyJson") } catch (error) { conso

我有一个函数定义如下:

printPrettyJson =
    function (json)
    {
        // logger.log(chalk.magenta(JSON.stringify(json, null, 4)))
        try 
        {
            throw Error("printPrettyJson")
        }
        catch (error) 
        {
            console.log(error.stack)
            console.debug(chalk.magenta(JSON.stringify(json, null, 4)))
        }
    }    
我所做的就是简单地打印出一个JSON类型的对象(因为它会显示
[object object]
。然而,我想知道我这样做是否不会抛出一个笨拙的
错误
。我是从另一个文件调用它的,例如

文件1

文件2


那么我如何在
printpertyjson
的函数调用上从File1输出
line 101

您可以通过创建一个新的错误对象从堆栈跟踪中获取行号,实际上不必抛出错误:

printPrettyJson =
    function (json)
    {
        console.log(new Error().stack)
        console.debug(chalk.magenta(JSON.stringify(json, null, 4)))
    }    

您可以使用输出调用堆栈而不引发错误。它在
控制台
API的规范中。

会有帮助吗?@trincot这可能已经足够好了。我以前做过,它用
[object]输出红色文本
我以为它抛出了一个错误。但我猜它实际上只是在打印堆栈。
// printPrettyJson's definition in here
printPrettyJson =
    function (json)
    {
        console.log(new Error().stack)
        console.debug(chalk.magenta(JSON.stringify(json, null, 4)))
    }