From 5b1d414ba23937e7fe1eba74547a7acf33e9c5a6 Mon Sep 17 00:00:00 2001 From: Joe Robinson Date: Mon, 21 Jul 2014 11:51:34 +0100 Subject: Added some error checking --- option.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'option.go') diff --git a/option.go b/option.go index d8cb697..e3d246f 100644 --- a/option.go +++ b/option.go @@ -1,6 +1,7 @@ package main import "github.com/mxk/go-sqlite/sqlite3" +import "errors" type Option struct { id int @@ -8,7 +9,7 @@ type Option struct { pollId int64 } -func getOptionFromText(db*sqlite3.Conn, text string) Option { +func getOptionFromText(db*sqlite3.Conn, text string) (Option, error) { args := sqlite3.NamedArgs{"$a": text} sql := "SELECT * FROM options WHERE text = $a" @@ -20,10 +21,10 @@ func getOptionFromText(db*sqlite3.Conn, text string) Option { s.Scan(&rowid, row) // Assigns 1st column to rowid, the rest to row option := Option{id:rowid, text:row["text"].(string), pollId:row["poll_id"].(int64)} - return option + return option, nil } - //If we get here there are no matching users - return Option{id:0, text:"", pollId:0} + //If we get here there are no matching options + return Option{id:0, text:"", pollId:0}, errors.New("No option found matching '" + text + "'") } \ No newline at end of file -- cgit v1.2.3