我拋出如下例外;
if (response.statusCode == 400) {
LoginErrorResponse loginErrorResponse = LoginErrorResponse.fromMap(responseMap);
List<String> errorList = loginErrorResponse.getErrorList();
throw Exception(errorList);
}
并捕捉如下;
try {
AuthenticatedUser user = await reClient.login("test", "test");
} on Exception catch (ex, _) {
// parse from ex to -> List<string>?
}
我找不到將拋出的例外決議為 List 型別的方法。在除錯器中我可以訪問 ex.message,但在代碼中它沒有公開。
我能做什么?
uj5u.com熱心網友回復:
您需要子類化Exception并創建一個自定義:
class LoginApiException implements Exception {
LoginApiException(this.errors);
final List<String> errors;
}
然后:
if (response.statusCode == 400) {
LoginErrorResponse loginErrorResponse = LoginErrorResponse.fromMap(responseMap);
List<String> errorList = loginErrorResponse.getErrorList();
throw LoginApiException(errorList);
}
try {
AuthenticatedUser user = await reClient.login("test", "test");
} on LoginApiException catch (ex, _) {
print(ex.errors);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/426253.html
