为什么这段代码会引发:`Uncaught SyntaxError:Unexpected token catch`

时间:2013-03-27 14:47:30

标签: javascript

以下JavaScript代码段会在加载脚本后立即引发SyntaxError: Unexpected token catch

try {
    // Client error (e.g., form validation)
    if ((jqXHR.status === 400) && data.errors) {
      // do something
    }
    // Server error (e.g., can't send email)
    else if ((jqXHR.status === 500) && data.errors) {
      // do something else
    }
    // Unknown error
    else {
      throw;
    }
} catch(e) {
  // Handle error
}

与SO上的其他SyntaxError: Unexpected token问题不同,这个问题不是由格式错误的JSON引起的,或者只是忘记了大括号。语法有问题,但目前还不清楚它是什么。

1 个答案:

答案 0 :(得分:5)

在依次评论出每一行后,我发现问题出在以下几行:

else {
    throw;
}

我打算抛出一个通用异常,但throw需要一个表达式。像这样重写它可以修复它:

else {
  throw 'Unknown error';
}