flutter捕获嵌套异步方法的错误

时间:2018-06-04 20:37:26

标签: dart flutter futuretask

我有这种方法。

asyncFunction1() async {
  Firestore.instance.runTransaction((transaction){
    var first = await transaction.something;
    var second = await secondInside();
  });
}

现在我想调用此方法,并捕获内部发生的每个错误。我将如何传播错误以便

try {asyncFunction1()} catch(e){}

捕获runTransaction中发生的所有错误?

1 个答案:

答案 0 :(得分:1)

您的内部功能错过async能够使用await。如果您添加,则可以使用try / catch

asyncFunction1() {
  Firestore.instance.runTransaction((transaction) async {
    try {
      var first = await transaction.something;
      var second = await secondInside();
    } catch(e) {
      ...
    }
  });
}