0

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

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

但是当我打开页面时,chrome web 控制台给了我错误

function guardarMisDatos() throws Exception {

并且错误类型是“未捕获的语法错误:意外标识符”错误在哪里?检查第一次单击时未触发该功能的方式是否正确?

4

4 回答 4

5

它是 JavaScript 而不是 Java。输了throws Exception

于 2012-05-14T14:37:12.560 回答
2

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

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

注意没有throws和没有类型e(因为 javascript 是松散类型的)

于 2012-05-14T14:50:31.037 回答
0

throws Exception从你的函数定义中删除。在 JavaScript 中不需要这个。除此之外,为什么你的函数会抛出异常——你已经捕获了它!

于 2012-05-14T14:37:49.597 回答
0

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

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

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

于 2012-05-14T14:57:06.470 回答