0
<!DOCTYPE html>
<html>
<head>
<script>
var txt="";
function message()
{
try
  {
  adddlert("Welcome guest!");
  }
catch(err)
  {
  console.log(err);
  txt="There was an error on this page.\n\n";
  txt+="Error description: " + err.message + "\n\n";
  txt+="Click OK to continue.\n\n";
  console.log(txt);
  }
}
</script>
</head>

<body>
<input type="button" value="View message" onclick="message()" />
</body>

</html>

Question:

I want to check the contents(e.g.err.message) inside error, so I put this line: console.log(err); in chromo->console, it shows:ReferenceError {} so my question is: How could I check the contents/properties inside error?

4

3 回答 3

0

还有其他控制台方法可以帮助您。阅读 api 参考以了解更多信息。

console.dir(object)

打印指定对象的 JavaScript 表示。如果记录的对象是 HTML 元素,则显示其 DOM 表示的属性。

使用此代码

try  {
  adddlert("Welcome guest!");
} catch(err) {
  console.dir(err);
}

它会将对象记录到控制台。在控制台中展开对象时,您会在下面看到此屏幕截图

Chrome 控制台的屏幕截图

JSFiddle

于 2013-07-09T04:32:40.157 回答
0

您可以使用浏览器开发工具在该位置(在 catch 块内)放置一个断点,然后检查变量

或者在 catch 块中添加一个debugger;调试器)语句,以便浏览器调试器将在该位置激活

debugger;

演示:小提琴

于 2013-07-09T03:37:26.547 回答
0

如果我理解你的问题。您正在要求正确的错误属性:

for(var propertyName in err) {
   console.log(propertyName + ": " + err[propertyName]);
}
于 2013-07-09T03:41:08.360 回答