Представьте, что у меня есть следующий код для вставки записи в базу данных Apache Jena (подлежит уточнению):
private fun createPersonLogic(ds: Dataset, email: String, nick: String) {
ds.begin(ReadWrite.WRITE)
val model = ds.defaultModel
val uuid = UUID.randomUUID()
val uri = "http://mycompany.com/data/p-${uuid}"
val person = model.createResource(uri)
person.addProperty(VCARD.EMAIL, email)
person.addProperty(VCARD.N,
model.createResource()
.addProperty(VCARD.NICKNAME, nick))
ds.commit()
ds.end()
}
Как правильно обрабатывать ошибки во время выполнения model.createResource
и ds.commit
-- как в приведенном ниже фрагменте кода или по-другому?
private fun createPersonLogic(ds: Dataset, email: String, nick: String) {
try {
ds.begin(ReadWrite.WRITE)
val model = ds.defaultModel
val uuid = UUID.randomUUID()
val uri = "http://mycompany.com/data/p-${uuid}"
val person = model.createResource(uri)
person.addProperty(VCARD.EMAIL, email)
person.addProperty(VCARD.N,
model.createResource()
.addProperty(VCARD.NICKNAME, nick))
ds.commit()
}
catch (throwable:Throwable) {
// react to the error
}
finally {
ds.end()
}
}