还可以抛出的SequenceType / GeneratorType?

时间:2015-08-26 13:40:09

标签: swift sqlite swift2

我正在学习Swift,作为练习,我正在编写一个围绕SQLite的包装器。在我进行实验时,我意识到对于返回行的查询(如SELECT),我可以实现SequenceType / GeneratorType协议,这样我就可以为我执行的每个sqlite3_step返回一组数据。

在实践中,sqlite3_step要么返回一行要么已完成,但从理论上讲,它可能会出错。我对SQLite没有做任何疯狂的事情。它对我来说只是一个简单的数据存储,因此我不会动态地重写模式或者可能会将数据库从其自身中删除,但事实仍然是理论上sqlite3_step可能会失败。

那么问题是,是否有一种正确的方法来处理SequenceType / GeneratorType模式中的错误? GeneratorType的下一个方法不支持throws参数,返回nil只是指示序列的结束。是否有一种很好的方法来处理错误并将其传播到链中?

0 个答案:

没有答案