mongodump --dbpath prints query errors to standard out, but never actually handles them. The error document is saved in the .bson file for the collection (corrupting the dump), and the tool exits with an exit code of 0. Verified with 2.4.10, 2.6.1, 2.7.0.
Reproduce with:
rassi@laptop:~/work/mongo $ mongodump --dbpath /data/db -d test -c foo -q '{$invalid:1}' 2014-05-07T12:18:46.449-0400 DATABASE: test to dump/test 2014-05-07T12:18:46.451-0400 test.foo to dump/test/foo.bson 2014-05-07T12:18:46.451-0400 [tools] assertion 17287 Can't canonicalize query: BadValue unknown top level operator: $invalid ns:test.foo query:{ $invalid: 1 } 2014-05-07T12:18:46.451-0400 1 documents 2014-05-07T12:18:46.451-0400 Metadata for test.foo to dump/test/foo.metadata.json 2014-05-07T12:18:46.451-0400 [tools] dbexit: 2014-05-07T12:18:46.451-0400 [tools] shutdown: going to close listening sockets... 2014-05-07T12:18:46.451-0400 [tools] shutdown: going to flush diaglog... 2014-05-07T12:18:46.451-0400 [tools] shutdown: going to close sockets... 2014-05-07T12:18:46.451-0400 [tools] shutdown: waiting for fs preallocator... 2014-05-07T12:18:46.451-0400 [tools] shutdown: closing all files... 2014-05-07T12:18:46.451-0400 [tools] closeAllFiles() finished 2014-05-07T12:18:46.451-0400 [tools] shutdown: removing fs lock... 2014-05-07T12:18:46.451-0400 [tools] dbexit: really exiting now rassi@laptop:~/work/mongo $ echo $? 0 rassi@laptop:~/work/mongo $ bsondump dump/test/foo.bson { "$err" : "Can't canonicalize query: BadValue unknown top level operator: $invalid", "code" : 17287 } 1 objects found