2013-05-03 60 views
6

在node.js堆棧跟蹤中總是有兩個數字,行號然後是a:和另一個數字。在下面的例子中,第一行有faye-redis.js:153:36,153是該文件中錯誤發生位置的行號,但是數字36是什麼意思?node.js堆棧跟蹤行冒號後的第二個數字是什麼意思?

node_modules/faye-redis/faye-redis.js:153:36 • publish.notify 
node_modules/faye-redis/faye-redis.js:72:16 • clientExists 
node_modules/redis/index.js:532:9 • try_callback 
node_modules/redis/index.js:614:13 • return_reply 
node_modules/redis/index.js:266:14 • RedisClient.init_parser 
events.js:96:17 • EventEmitter.emit 
node_modules/redis/lib/parser/hiredis.js:43:18 • execute 
node_modules/redis/index.js:488:27 • on_data 
node_modules/redis/index.js:82:14 • none 
events.js:96:17 • EventEmitter.emit 
net.js:397:14 • onread 

回答

8

第一個數字是行(行號),第二個是列(字符在行)。在JavaScript中,許多編碼人員習慣性地使用閉包等方法將大量代碼嵌套在單行上,或者使用像YUI壓縮器這樣的縮小器,所以它通常是相關的信息。

+3

不僅在JavaScript中,而且在許多其他語言。行:列約定是堆棧跟蹤中常見的情況。 – BoltClock 2013-05-03 19:37:55

+0

一個問題:如果您使用製表符縮進,編輯器報告的列編號可能與報告的字符編號不匹配。例如,Sublime Text將我的選項卡分別報告爲兩列。 – RobW 2014-09-19 20:03:55

相關問題