试着去做一些事情,如果出现异常再处理发生的异常。这就是 try... catch 这种写法的作用。在 try 区块里设置要做的事情,在 catch 里可以获取到做这些事情的时候发生的异常情况,根据异常情况的不同可以设置如何应对这些异常情况。
这里我们先定义一个函数,名字叫 getGasoline,这个函数的作用是获取到油量,暂时先让它直接 return false,表示已经汽车已经没油了。
下面再定义一个叫 drive() 的函数,在这个函数里可以先添加一个 gasoline ,把执行 getGasoline 函数返回的结果交给这个 gasoline。
然后判断一下,如果 !gasoline ,意思就是如果没油了,我们可以在这个函数里 throw 一个异常,新建一个 Error 异常,提供一个异常信息,没油了!
在 if 的外面,再用一个 console.log,输出 呜~呜~~
下面我要执行一下 drive() 这个函数,因为执行这个函数的时候可能会出现一些异常情况,比如说车子没油了。所以我们可以把要做的事情放在一个 try...catch 里面。
先添加一个 try,把要做的事情放在这个区块里,这里就是执行一下 drive() 这个函数。
再添加一个 catch ,它有个 error 参数,出现的异常会交给这个 error 参数。 在 catch 里面可以获取到在 try 里做事情的时候出现的异常情况。
这里我们处理异常可以简单的在控制台上,输出 error 里的 message 属性的值。Error 这种异常里都有个 message 属性,这个属性的值就是触发 Error 异常的时候设置的异常信息。
在终端,运行一下应用。 在控制台上会输出一个 没油了! 说明在 try 区块里执行 drive() 函数的时候,出现了异常情况,这样就会转到去执行 catch 区块里代码,处理异常做的事情就是在控制台上输出异常里的异常信息。
这里我们再修改一下 getGasoline 这个函数返回的值,这次让它返回 true ,回到终端,重新运行一下应用。这次控制台上输出的就是 呜~呜~~ 说明在执行 drive() 函数的时候没有发生异常情况。