Errorから行番号を取得する。
Errorを使うと、Errorを作成した行の番号やスタックの情報を取得できます。
- FireFoxのみ。
- IE6では行番号、スタック情報ともに取得できませんでした。
var stdout = document.getElementById("stdout"); var error = new Error(); stdout.innerHTML += "message: " + error.message + "<br/>"; stdout.innerHTML += "name: " + error.name + "<br/>"; stdout.innerHTML += "lineNumber: " + error.lineNumber + "<br/>"; stdout.innerHTML += "number: " + error.number + "<br/>"; stdout.innerHTML += "stack: " + error.stack + "<br/>";
行番号は、「Errorを作成した行の番号」になります。Javaと同じように派生クラスを作っても上手く動作しません。
var stdout = document.getElementById("stdout"); IllegalArgumentError = function( message ){ this.name = "IllegalArgumentError "; this.message = message; } // ↓この行の番号が返される。(当たり前といえば当たり前。) IllegalArgumentError.prototype = new Error(); var error = new IllegalArgumentError(); stdout.innerHTML += "message: " + error.message + "<br/>"; stdout.innerHTML += "name: " + error.name + "<br/>"; stdout.innerHTML += "lineNumber: " + error.lineNumber + "<br/>"; stdout.innerHTML += "number: " + error.number + "<br/>"; stdout.innerHTML += "stack: " + error.stack + "<br/>";