在 php 中,当我们做错一些事情时,会显示一个错误,并显示已提交的行号。我希望在 javascript 中也能做到这一点,你会从我的代码中理解:
var varlist = {};
var private = {
str : function(nameArg, valueArg, security){
if (varlist.hasOwnProperty(nameArg) === true){
throw "Variable Existance : variable "+nameArg +" is already exist in your variable list and cannot be overwritten in private type";
}else if(security === "h"){
var stre = String(valueArg);
var strnew = stre.replace(/\d/g, "");
varlist[nameArg] = strnew;
}else if(security === "l"){
varlist[nameArg] = String(valueArg);
}else if(security !== "h" || security !== "n"){
varlist[nameArg] = String(valueArg);
throw "Unexpected Security Level: Entered " +security+" is unexpected and the default security level is low(l)";
}
}
}
现在查看最后一个 throw
语句,如果安全性不是 "h"
或 "l"
那么它会抛出异常,因为您可以看到。
现在假设我在代码编辑器中的第 90 行上写了 private.str("abc",9000,"o");
其中 "o"
是无效。所以 javascript 应该找到 private.str("abc",9000,"o");
写入的行,然后抛出 "Unexpected Security Level: Entered "+security+"is意外线路“+line_number+”,默认安全级别为低(l)”;
,例如,line_number
为 90。
所以 javascript 应该抛出这个语句“意外的安全级别:在第 90 行输入的 o 是意外的,默认安全级别为低(l)”;
我试图搜索这个,但没有人能在我的知识范围内提供帮助
谢谢!
最佳答案
你可以使用firebug或js控制台,或者用这样的代码来完成
var
line=(new Error).stack.split("\n")[4],
nr=line.slice(line.indexOf("at ")+2, line.length);
( How to get JavaScript caller function line number? How to get JavaScript caller source URL? )
关于javascript - 如何知道错误在哪一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22640025/