From 732526bf459591c9abee5c5ae7e7759cce124f0b Mon Sep 17 00:00:00 2001 From: Sebastian Reichel Date: Sat, 15 Jun 2013 23:45:04 +0200 Subject: handle DatabaseError in db.get_product_name --- src/scanner-session/scannersession.vala | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src/scanner-session') diff --git a/src/scanner-session/scannersession.vala b/src/scanner-session/scannersession.vala index 9cc3e26..5498b83 100644 --- a/src/scanner-session/scannersession.vala +++ b/src/scanner-session/scannersession.vala @@ -161,7 +161,24 @@ public class ScannerSessionImplementation { return false; } - var name = db.get_product_name(id); + string name = "unknown product"; + + try { + name = db.get_product_name(id); + } catch(IOError e) { + audio.play_user(theme, "error"); + send_message(MessageType.ERROR, "Internal Error!"); + return false; + } catch(DatabaseError e) { + if(e is DatabaseError.PRODUCT_NOT_FOUND) { + audio.play_user(theme, "error"); + send_message(MessageType.ERROR, "Error: unknown product: %llu".printf(id)); + } else { + audio.play_user(theme, "error"); + send_message(MessageType.ERROR, "Error: %s", e.message); + } + return false; + } if(!logged_in) { var mprice = db.get_product_price(1, id); -- cgit v1.2.3