尝试捕获javascript意外标识符

时间:2012-05-14 14:36:13

标签: javascript

我正在尝试识别我在网页中的javascrip函数中出现的错误,所以我添加了

function guardarMisDatos() throws Exception {
try{
...
} catch (Exception e){
alert("error: ", e);
}

但是当我打开页面时,chrome web控制台会在

处给出错误
function guardarMisDatos() throws Exception {

,错误类型为“Uncaught syntaxerror:unexpected identifier” 错误在哪里?它是检查第一次点击时不触发函数的正确方法吗?

4 个答案:

答案 0 :(得分:5)

JavaScript不是Java。失去throws Exception

答案 1 :(得分:2)

您的代码看起来很像Java,而不是JavaScript。 javaScript中try / catch的语法如下:

try {
    // do stuff
} catch (e) {
    // something bad happened
}

请注意throws上没有e且没有类型(因为javascript是松散输入的)

答案 2 :(得分:0)

从函数定义中删除throws Exception。你不需要在JavaScript中使用它。除此之外,为什么你的函数会抛出异常 - 你已经抓住了它!

答案 3 :(得分:0)

删除“抛出异常”和对“异常”的catch引用。要知道它是什么类型的异常,请查看e.name属性,它将是六件事之一:

  • EvalError - 发生了eval()函数中的错误。
  • RangeError - 已发生范围编号值。
  • ReferenceError - 发生了非法引用。
  • SyntaxError - 发生了eval()函数内代码中的语法错误。 try / catch / finally未捕获所有其他语法错误,并将触发与错误关联的默认浏览器错误消息。要捕获实际的语法错误,您可以使用onerror事件。
  • TypeError - 发生了预期变量类型中的错误。
  • URIError - 发生URI编码或解码时出错(即:调用encodeURI()时)。

这些不是常量,它们是实际的字符串,如if (e.name.toString()=="TypeError")错误对象上还有很多其他好处,请在http://www.javascriptkit.com/javatutors/trycatch2.shtml

阅读更多内容