Flutter Dart-无法从连接流捕获异常
我无法捕获在Flutter Dart-无法从连接流捕获异常,flutter,dart,stream,try-catch,connectivity,Flutter,Dart,Stream,Try Catch,Connectivity,我无法捕获在connectivity.onConnectivityChanged.listen函数中引发的异常。 我尝试过使用try-catch块和onError函数,但无法让它们工作。 有人知道我做错了什么吗 import 'package:flutter/foundation.dart'; import 'dart:async'; import 'package:connectivity/connectivity.dart'; import 'package:dio/dio.dart';
connectivity.onConnectivityChanged.listen函数中引发的异常。
我尝试过使用try-catch块和onError
函数,但无法让它们工作。
有人知道我做错了什么吗
import 'package:flutter/foundation.dart';
import 'dart:async';
import 'package:connectivity/connectivity.dart';
import 'package:dio/dio.dart';
class DioConnectivityRequestRetrier {
final Dio dio;
final Connectivity connectivity;
DioConnectivityRequestRetrier({
@required this.dio,
@required this.connectivity,
});
Future<Response> scheduleRequestRetry(RequestOptions requestOptions) async {
StreamSubscription streamSubscription;
final responseCompleter = Completer<Response>();
try {
connectivity.onConnectivityChanged.listen(
(connectivityResult) {
if (connectivityResult != ConnectivityResult.none) {
// streamSubscription.cancel();
// An exception when dio.request fails
throw Exception;
responseCompleter.complete(
dio.request(
requestOptions.path,
cancelToken: requestOptions.cancelToken,
data: requestOptions.data,
onReceiveProgress: requestOptions.onReceiveProgress,
onSendProgress: requestOptions.onSendProgress,
queryParameters: requestOptions.queryParameters,
options: requestOptions,
),
);
}
},
).onError((e) {
throw e;
});
} catch (e) {
rethrow;
}
return responseCompleter.future;
}
}
试着这样做:
try {
/// YOUR CODE HERE ///
} on PlatformException catch (e) {
print(e.toString());
}
试着这样做:
try {
/// YOUR CODE HERE ///
} on PlatformException catch (e) {
print(e.toString());
}
您可以在我的代码示例中看到,我已经尝试使用try-catch块,但这不起作用。在异常上添加
也没有什么不同。在我的代码示例中,您可以看到我已经尝试使用try-catch块,但这不起作用。在异常情况下添加,
也没有什么区别。