Javascript SyntaxError:缺少捕获或在尝试后最终捕获
如何修复“SyntaxError:缺少捕获或尝试后最终失败” 我试着做一个科学计算器,结果发现了这个错误 函数数学(a){ 数学=a; 试一试{ 如果(运算符符号=“+”){ prep(); firstI=第一秒; 数学(); 第一个=第二个+“+”+结果; }else if(运算符符号=“-”){ prep(); firstI=第二个-第一个; 数学(); 第一个=第二个+“-”+”(“+结果+”); }else if(运算符符号=“*”){ prep(); 第一i=第二/第一; 数学(); 第一个=第二个+“/”+结果; }否则{ 第一i=第一; 数学(); 第一个=结果; } 先返回; }Javascript SyntaxError:缺少捕获或在尝试后最终捕获,javascript,Javascript,如何修复“SyntaxError:缺少捕获或尝试后最终失败” 我试着做一个科学计算器,结果发现了这个错误 函数数学(a){ 数学=a; 试一试{ 如果(运算符符号=“+”){ prep(); firstI=第一秒; 数学(); 第一个=第二个+“+”+结果; }else if(运算符符号=“-”){ prep(); firstI=第二个-第一个; 数学(); 第一个=第二个+“-”+”(“+结果+”); }else if(运算符符号=“*”){ prep(); 第一i=第二/第一; 数学();
}首先,阅读代码的功能并不容易。但是在try块之后,您需要一个catch块。你可以找到。就像在这个简短的例子中,函数nonExistentFunction不存在,因此代码将通过一个错误。这是被挡块挡住的。catch块不需要做任何事情(就像我在控制台中打印错误一样)
试试看{
不存在函数();
}捕获(错误){
控制台错误(error);
}
错误消息会准确地告诉您出了什么问题:您有try{/*…*/}
,之后没有catch(e){/*…*/}
或finally{/*…*/}
。如果try
块后面没有至少一个catch
或finally
(或两者都有)的话(按该顺序),则没有意义,因此尝试这样做是语法错误。解决方案是删除try
或添加catch
和/或finally
。请参阅:我知道您想使用试试。您的目标是什么?您应该阅读更多关于javascrpit错误处理的内容。你不能使用try而不使用catch