使用try catch的主要原因是什么?

时间:2017-11-06 09:02:10

标签: javascript try-catch

请查看此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代码的主要原因是为了更好地组织代码(特别是,更好地组织每个错误的结果),即使我们可以实现它没有trycatch的确切结果,以及更强制性的代码(例如,每个错误的结果将在行中定义,而不是稍后在catch块中定义)。

更好的组织代码(特别是自定义错误处理)是在我们的代码中组合这两个块的主要原因吗?

2 个答案:

答案 0 :(得分:1)

使用try{} catch(exception){}的主要优点是,如果抛出异常,您可以将控制转移到catch(exception){},这样可以继续处理,而不是你的剧本悲惨地失败了。简而言之,您正在捕捉异常。

换句话说,主要原因是捕捉异常,然后决定你想采取什么行动。您是否有可能以不同的方式处理问题并完成任务而不会失败?如果是这样,catch(exception){ // do something different }发挥作用的地方。从某种意义上说,它为你提供了第二次机会: - )

答案 1 :(得分:0)

try catch的主要原因是阻止错误导致程序崩溃。在此示例中,如果用户提供的年龄不是数字,并且您稍后尝试在代码中处理它可能会崩溃或无法正常工作。