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

cla*_*ion 0 javascript

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

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
}
Run Code Online (Sandbox Code Playgroud)

SyntaxError: Unexpected tokenSO上的其他问题不同,这个问题不是由格式错误的JSON引起的,也不是简单地忘记支撑.语法有问题,但不能立即清楚它是什么.

cla*_*ion 5

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

else {
    throw;
}
Run Code Online (Sandbox Code Playgroud)

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

else {
  throw 'Unknown error';
}
Run Code Online (Sandbox Code Playgroud)