Throw unknown_error for non standard errors

Right now unless you throw an error with the key forbidden or
unauthorized, we throw a stack trace back at you. This will at least let
you throw a string as an error message.

Whether or not we should return unknown_error: Message or throw an error
saying invalid error format in the validate_doc_update function is
debateable.


Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch/commit/8eb26361
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch/tree/8eb26361
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch/diff/8eb26361

Branch: refs/heads/import
Commit: 8eb2636106fe4fc90135ead3565761da775c2d24
Parents: df395bf
Author: Russell Branca <[email protected]>
Authored: Wed Jan 23 14:03:24 2013 -0800
Committer: Paul J. Davis <[email protected]>
Committed: Fri Jan 17 16:44:30 2014 -0800

----------------------------------------------------------------------
 src/couch_query_servers.erl | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/8eb26361/src/couch_query_servers.erl
----------------------------------------------------------------------
diff --git a/src/couch_query_servers.erl b/src/couch_query_servers.erl
index 71dcae9..5864288 100644
--- a/src/couch_query_servers.erl
+++ b/src/couch_query_servers.erl
@@ -327,7 +327,9 @@ validate_doc_update(DDoc, EditDoc, DiskDoc, Ctx, SecObj) ->
         {[{<<"forbidden">>, Message}]} ->
             throw({forbidden, Message});
         {[{<<"unauthorized">>, Message}]} ->
-            throw({unauthorized, Message})
+            throw({unauthorized, Message});
+        <<Message/binary>> ->
+            throw({unknown_error, Message})
     end.
 
 json_doc(nil) -> null;

Reply via email to