我定义了一些类来查询数据库。
class SqlGetData {
ConnectionPool pool;
List<String> rows;
SqlGetData(this.pool);
Future <List<String>> run(String sQuery) {
rows = new List<String>();
return readData(sQuery).then((_) {
return rows;
});
}
Future readData(String sQuery) {
return pool.query(sQuery).then((result) {
return result.forEach((row) {
String s = JSON.encode(row);
rows.add(s);
});
});
}
}
我这样称呼:
var sql = new SqlGetData(pool);
sql.run('select firstName, lastName from person where id =' + s1).then((rows) {
some code here to process the data
});
如果数据库没有运行,我会在return pool.query
in上收到一个错误readData
,我想在一些错误消息中捕获并传递给客户端。我如何以及在哪里编写代码try ... catch ...
以防止服务器死机?我的问题是我必须返回期货,这对我来说仍然难以掌握。