csjiabin's blog csjiabin's blog
首页
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
  • 学习笔记

    • 《面向Node.js开发者的Go》
更多
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

csjiabin

前端界的小菜鸟
首页
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
  • 学习笔记

    • 《面向Node.js开发者的Go》
更多
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • comments
  • printing
  • logging
  • variables
  • interpolation
  • types
  • type check
  • if/else
  • for
  • while
  • switch
  • arrays
  • uint8 arrays
  • array iteration
  • array sorting
  • buffers
  • maps
  • objects
  • functions
  • default values
  • destructuring
  • spread operator
  • rest operator
  • swapping
  • classes
  • generators
  • datetime
  • timeout
  • interval
  • IIFE
  • files
  • json
  • big numbers
  • promises
  • async await
  • streams
  • event emitter
  • errors
  • try/catch
  • exceptions
  • regex
  • exec
  • tcp server
  • udp server
  • http server
  • url parse
  • gzip
  • dns
  • crypto
  • env vars
  • cli args
  • cli flags
  • stdout
  • stderr
  • stdin
  • modules
  • stack trace
    • databases
    • testing
    • benchmarking
    • documentation
    • 《面向Nodejs开发者的Go》
    miguelmota
    2022-09-29
    目录

    stack trace

    # Node.js

    function foo() {
      throw new Error("failed");
    }
    
    try {
      foo();
    } catch (err) {
      console.trace(err);
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    Output

    Trace: Error: failed
        at foo (/Users/bob/examples/stack_trace.js:2:9)
        at Object.<anonymous> (/Users/bob/examples/stack_trace.js:6:3)
        at Module._compile (internal/modules/cjs/loader.js:688:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
        at Module.load (internal/modules/cjs/loader.js:598:32)
        at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
        at Function.Module._load (internal/modules/cjs/loader.js:529:3)
        at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
        at startup (internal/bootstrap/node.js:285:19)
        at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
        at Object.<anonymous> (/Users/bob/examples/stack_trace.js:8:11)
        at Module._compile (internal/modules/cjs/loader.js:688:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
        at Module.load (internal/modules/cjs/loader.js:598:32)
        at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
        at Function.Module._load (internal/modules/cjs/loader.js:529:3)
        at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
        at startup (internal/bootstrap/node.js:285:19)
        at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20

    # Go

    package main
    
    import (
    	"errors"
    	"fmt"
    	"runtime/debug"
    )
    
    func foo() {
    	panic(errors.New("failed"))
    }
    
    func main() {
    	defer func() {
    		if r := recover(); r != nil {
    			fmt.Println(string(debug.Stack()))
    		}
    	}()
    
    	foo()
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    Output

    goroutine 1 [running]:
    runtime/debug.Stack(0xc000090eb8, 0x10a8400, 0xc00007e1c0)
            /Users/mota/.gvm/gos/go1.11/src/runtime/debug/stack.go:24 +0xa7
    main.main.func1()
            /Users/bob/examples/stack_trace.go:16 +0x46
    panic(0x10a8400, 0xc00007e1c0)
            /Users/mota/.gvm/gos/go1.11/src/runtime/panic.go:513 +0x1b9
    main.foo(...)
            /Users/bob/examples/stack_trace.go:10
    main.main()
            /Users/bob/examples/stack_trace.go:20 +0xa2
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    ⬆ back to top

    编辑 (opens new window)
    #Go#Node.js
    上次更新: 2022/09/30, 11:34:22
    modules
    databases

    ← modules databases→

    最近更新
    01
    咖啡知识
    10-13
    02
    documentation
    09-29
    03
    benchmarking
    09-29
    更多文章>
    Theme by Vdoing | Copyright © 2018-2022 csjiabin | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式