Node.jsでエラー発生時に適当に console.log とかを埋めて、しかもそれが複数箇所になってくると、エラーメッセージは分かるがそれがどこで発生したエラーなのかが分からなくて困ったりする。キャッチしたエラーオブジェクトが普通にthrowされたErrorオブジェクトならerr.stackでコールスタックが取得できるからまだしも、只の文字列や独自Errorをcallback(new Error("オレオレメッセージ"))とかで渡されるとコールスタックが取れないのでどうしようとした足跡。 試行錯誤 で、以下の様な関数を作ってみた。仕組みは簡単で、throwしないと行番号取得できないならダミーで例外発生させちゃえば良いじゃないって感じ。*1 function getCallStack() { try { throw new Error("DUMMY"); } catch(e) { ret