summaryrefslogtreecommitdiffstats
path: root/src/scanner-session/scannersession.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/scanner-session/scannersession.vala')
-rw-r--r--src/scanner-session/scannersession.vala19
1 files changed, 18 insertions, 1 deletions
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);