summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwight <dmerriman@gmail.com>2009-02-11 09:58:09 -0500
committerDwight <dmerriman@gmail.com>2009-02-11 09:58:09 -0500
commit7de1d97a9375adfe3a0c9e52f3065e91de105d0d (patch)
tree8e38ccde848c4416e1a4c826b8d845f153b1a796
parent85298ec174b059bf2ebd2c1048cc5dd99d85689f (diff)
parentbdc7d90b852ec294995f16afcc48c0238db789aa (diff)
downloadmongo-7de1d97a9375adfe3a0c9e52f3065e91de105d0d.tar.gz
Merge branch 'master' of git.10gen.com:/data/gitroot/p
-rw-r--r--shell/MongoJS.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/shell/MongoJS.cpp b/shell/MongoJS.cpp
index 3fbdc999ca1..71a3157e067 100644
--- a/shell/MongoJS.cpp
+++ b/shell/MongoJS.cpp
@@ -301,13 +301,18 @@ Handle<Value> mongoFind(const Arguments& args){
jsassert( slaveOkVal->IsBoolean(), "slaveOk member invalid" );
bool slaveOk = slaveOkVal->BooleanValue();
- auto_ptr<mongo::DBClientCursor> cursor = conn->query( ns, q , (int)(args[3]->ToNumber()->Value()) , (int)(args[4]->ToNumber()->Value()) , haveFields ? &fields : 0, slaveOk ? Option_SlaveOk : 0 );
-
- v8::Function * cons = (v8::Function*)( *( mongo->Get( String::New( "internalCursor" ) ) ) );
- Local<v8::Object> c = cons->NewInstance();
-
- c->Set( v8::String::New( "cursor" ) , External::New( cursor.release() ) );
- return c;
+ try {
+ auto_ptr<mongo::DBClientCursor> cursor = conn->query( ns, q , (int)(args[3]->ToNumber()->Value()) , (int)(args[4]->ToNumber()->Value()) , haveFields ? &fields : 0, slaveOk ? Option_SlaveOk : 0 );
+
+ v8::Function * cons = (v8::Function*)( *( mongo->Get( String::New( "internalCursor" ) ) ) );
+ Local<v8::Object> c = cons->NewInstance();
+
+ c->Set( v8::String::New( "cursor" ) , External::New( cursor.release() ) );
+ return c;
+ }
+ catch ( ... ){
+ return v8::ThrowException( v8::String::New( "socket error on insert" ) );
+ }
}
v8::Handle<v8::Value> mongoInsert(const v8::Arguments& args){
@@ -333,7 +338,7 @@ v8::Handle<v8::Value> mongoInsert(const v8::Arguments& args){
catch ( ... ){
return v8::ThrowException( v8::String::New( "socket error on insert" ) );
}
-
+
return args[1];
}