根据JSX reference,这就是try-catch语句的样子
try {
statement*
} [catch (varname : type) {
statement*
}]* [finally {
statement*
}]
我尝试了以下
try {
console.log(window.device.version)
} catch (e : TypeError) {
console.log('Error')
}
哪个会导致错误
模块构建失败:SyntaxError:意外令牌,应为)(11:15)
9 | try { 10 | console.log(window.device.version) 11 | } catch (e : TypeError) { | ^ 12 | console.log('Error') 13 | } 14 | return (
然后在JSX中使用try-catch语句的正确方法是什么?
答案 0 :(得分:1)
它看起来像TypeScript样式。只需使用try{ } catch(e) { console.error(e); }
就可以了。
看看MDN,不要忘记JSX只是React.createElement
的语法糖。
您提到的链接不是是React React JSX,而是一个全新的东西,叫做DeNA JSX。
在DeNA JSX中查看this issue和this PR。
答案 1 :(得分:1)
在JSX或JavaScript中,您可以这样编写
gcc -o cal cal.c `pkg-config --cflags --libs gtk+-2.0` -static
如果您使用的是TypeScript,则以前的代码应该可以使用
希望有帮助
答案 2 :(得分:1)
异常处理具有以下语法。
try {
// code...
} catch (err) {
// error handling
}
查看此内容:https://javascript.info/try-catch
但是try-catch不会捕获React.js代码中的所有错误。 try-catch将检测命令式代码中的错误,而React本质上是声明性的
使用React 16及更高版本中定义的错误边界。
使用componentDidCatch创建组件
使用错误边界环绕要测试的组件。
请参阅此-(官方的反应文档):https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html
答案 3 :(得分:1)
try语句使您可以测试代码块中的错误。
catch语句可让您处理错误。
throw语句使您可以创建自定义错误。
final语句使您可以在尝试并捕获之后执行代码,而不管结果如何。
基本概念如下:
try {
Block of code to try
}
catch(err) {
Block of code to handle errors
}
所以,现在让我们提出一个会发生错误的场景:
// It will try to run the task, but it will faild
try {
eval(console.log("Hello world)); // Just add the missing quote at the end of 'world' word and it will pass :)
}
// So, here is where we catch the error and display it to the user
catch(error) {
console.error(error);
// expected output:
// "message": "Uncaught SyntaxError: Invalid or unexpected token"
// Note - error messages will vary depending on browser
}
答案 4 :(得分:-1)
try{
// code for error testing
}
catch (e) {
// code for error handeling
console.log(e)
}