Javascript SyntaxError:缺少捕获或在尝试后最终捕获

Javascript SyntaxError:缺少捕获或在尝试后最终捕获,javascript,Javascript,如何修复“SyntaxError:缺少捕获或尝试后最终失败” 我试着做一个科学计算器,结果发现了这个错误 函数数学(a){ 数学=a; 试一试{ 如果(运算符符号=“+”){ prep(); firstI=第一秒; 数学(); 第一个=第二个+“+”+结果; }else if(运算符符号=“-”){ prep(); firstI=第二个-第一个; 数学(); 第一个=第二个+“-”+”(“+结果+”); }else if(运算符符号=“*”){ prep(); 第一i=第二/第一; 数学();

如何修复“SyntaxError:缺少捕获或尝试后最终失败”

我试着做一个科学计算器,结果发现了这个错误

函数数学(a){ 数学=a; 试一试{ 如果(运算符符号=“+”){ prep(); firstI=第一秒; 数学(); 第一个=第二个+“+”+结果; }else if(运算符符号=“-”){ prep(); firstI=第二个-第一个; 数学(); 第一个=第二个+“-”+”(“+结果+”); }else if(运算符符号=“*”){ prep(); 第一i=第二/第一; 数学(); 第一个=第二个+“/”+结果; }否则{ 第一i=第一; 数学(); 第一个=结果; } 先返回; }
}首先,阅读代码的功能并不容易。但是在try块之后,您需要一个catch块。你可以找到。就像在这个简短的例子中,函数nonExistentFunction不存在,因此代码将通过一个错误。这是被挡块挡住的。catch块不需要做任何事情(就像我在控制台中打印错误一样)

试试看{
不存在函数();
}捕获(错误){
控制台错误(error);

}
错误消息会准确地告诉您出了什么问题:您有
try{/*…*/}
,之后没有
catch(e){/*…*/}
finally{/*…*/}
。如果
try
块后面没有至少一个
catch
finally
(或两者都有)的话(按该顺序),则没有意义,因此尝试这样做是语法错误。解决方案是删除
try
或添加
catch
和/或
finally
。请参阅:我知道您想使用
试试
。您的目标是什么?您应该阅读更多关于javascrpit错误处理的内容。你不能使用try而不使用catch