请查看此JavaScript代码示例,演示try-catch代码。它的目的是成为try-catch代码的一个简单例子,以学习这个概念。
let age = prompt(`Please enter your age, `));
let err1 = `Error: Make sure field isn't empty and only a number is given`;
let err2 = `Error: Age out of range`;
try (
if (age == "" || isNaN(age)) {
throw err1;
} else if (age < 0 || age > 120) {
throw err2;
}
)
catch (error) {
if (error == err1) {
console.log('Age was either empty or non solely numerical.');
} else if (error == err2) {
console.log('A solely numerical age was given, but it was beyond range.');
}
exit;
}
从示例中我可以假设使用try-catch代码的主要原因是为了更好地组织代码(特别是,更好地组织每个错误的结果),即使我们可以实现它没有try
和catch
的确切结果,以及更强制性的代码(例如,每个错误的结果将在行中定义,而不是稍后在catch
块中定义)。
更好的组织代码(特别是自定义错误处理)是在我们的代码中组合这两个块的主要原因吗?
答案 0 :(得分:1)
使用try{} catch(exception){}
的主要优点是,如果抛出异常,您可以将控制转移到catch(exception){}
,这样可以继续处理,而不是你的剧本悲惨地失败了。简而言之,您正在捕捉异常。
换句话说,主要原因是捕捉异常,然后决定你想采取什么行动。您是否有可能以不同的方式处理问题并完成任务而不会失败?如果是这样,catch(exception){ // do something different }
发挥作用的地方。从某种意义上说,它为你提供了第二次机会: - )
答案 1 :(得分:0)
try catch的主要原因是阻止错误导致程序崩溃。在此示例中,如果用户提供的年龄不是数字,并且您稍后尝试在代码中处理它可能会崩溃或无法正常工作。