如果是用 aysnc,await 这种方式使用异步函数提供的值,处理异步函数发生的异常情况可以使用 try,catch 这种写法,这里可以用一组 try,catch 区块,把执行异步函数使用它里面的值这两行代码放在这个 try 区块里面。
然后在 catch 区块这里可以处理一下异常情况,这里可以先简单的在控制台上输出这个 error 。
在这个 getVehicle 里面,我们先手工制造一个异常,直接 throw 一个字符串。 然后运行一下应用,在控制台上会输出 catch 到的异常。
另外我们也可以使用 Future 上面的 catchError 这个方法处理异常。这里执行 getVehilce 会返回一个 Future,调用 then 可以使用这个异步函数正常提供的值,然后可在给调用一下 catchError 这个方法,设置一下当执行这个异步函数发生异常情况的时候要做的事情。
给它提供一个回调,有个 error 参数,在控制台上输出 catch 到的这个 error。 运行一下应用,你会发现在控制台上仍然会输出 catch 到的错误。