Skip to content

Commit 8f38e2c

Browse files
author
Ilia Kuznetsov
committed
handle incorrect saving without crash
1 parent afda1fb commit 8f38e2c

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

Sources/Database/CodableTransformer.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,12 @@ public class CodableTransformer: ValueTransformer {
2525
} else if let value = value as? [Encodable] {
2626
self = .array(value.compactMap { Value(value: $0) })
2727
} else if let value = value as? AnyObject & Encodable {
28-
self = .codableObject(base64: try! value.toData().base64EncodedString(), name: NSStringFromClass(type(of: value)))
28+
do {
29+
self = .codableObject(base64: try value.toData().base64EncodedString(), name: NSStringFromClass(type(of: value)))
30+
} catch {
31+
print("Cannote encode object: \(value), error: \(error)")
32+
return nil
33+
}
2934
} else if let value = value as? [String:Any] {
3035
self = .dictionary(value.reduce(into: [:], { result, item in
3136
if let value = Value(value: item.value) {

0 commit comments

Comments
 (0)