我想处理Dart中可能发生的不同错误。 我正在使用try / catch,但想知道如何确定可能发生的不同错误。 例如,当没有网络连接时,我有这个错误:
PlatformException(Error 17020, FIRAuthErrorDomain, Network error (such as timeout, interrupted connection or unreachable host) has occurred.)
当用户名/密码不正确时出现此错误:
PlatformException(Error 17009, FIRAuthErrorDomain, The password is invalid or the user does not have a password.)
我想根据发生的错误采取不同的操作。 这里最好的方法是什么? 更新:使用以下方式结束!
import 'package:flutter/services.dart' show PlatformException;
try {
//Something!
} on PlatformException catch (e) {
switch (e.code) {
case "Error 17009":
// handle
break;
case "Error 17020":
// handle
break;
case "Error 17011":
//handle
break;
default:
throw new UnimplementedError(e.code);
}
}
答案 0 :(得分:4)
我使用try
/ catch
和switch
/ case
:
import 'package:flutter/services.dart' show PlatformException;
try {
...
} on PlatformException catch(e) {
switch(e.code) {
case '17009':
// handle
break;
case '17020':
// handle
break;
default:
throw new UnimplementedError(error.code);
}
}