我正在浏览Dart 服务器文档。我看到我可以await for
像这样的 HttpRequest :
import 'dart:io';
Future main() async {
var server = await HttpServer.bind(
InternetAddress.loopbackIPv4,
4040,
);
print('Listening on localhost:${server.port}');
await for (HttpRequest request in server) {
request.response.write('Hello, world!');
await request.response.close();
}
}
那是因为 HttpServer 实现了 Stream。但是由于流可以返回值或错误,我应该捕获这样的异常,对吧:
try {
await for (HttpRequest request in server) {
request.response.write('Hello, world!');
await request.response.close();
}
} catch (e) {
// ???
}
但我不确定可以捕获什么样的异常。异常是来自请求(并保证 400 级响应)还是来自服务器(并保证 500 级响应)?或两者?