mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-21 23:25:07 +00:00
Report InvalidParams for serialization error
This commit is contained in:
parent
c1422c7a8d
commit
c4bf9c5d6a
@ -10,9 +10,10 @@
|
||||
#include "query_utils.hh"
|
||||
#include "serializers/json.hh"
|
||||
|
||||
using namespace clang;
|
||||
|
||||
#include <algorithm>
|
||||
#include <stdexcept>
|
||||
|
||||
using namespace clang;
|
||||
|
||||
MAKE_HASHABLE(ccls::SymbolIdx, t.usr, t.kind);
|
||||
|
||||
@ -192,8 +193,16 @@ void MessageHandler::Run(InMessage &msg) {
|
||||
if (it != method2request.end()) {
|
||||
try {
|
||||
it->second(reader, reply);
|
||||
} catch (std::invalid_argument &ex) {
|
||||
lsResponseError err;
|
||||
err.code = lsErrorCodes::InvalidParams;
|
||||
err.message = "invalid params of " + msg.method + ": " + ex.what();
|
||||
reply.Error(err);
|
||||
} catch (...) {
|
||||
LOG_S(ERROR) << "failed to process request " << msg.method;
|
||||
lsResponseError err;
|
||||
err.code = lsErrorCodes::InternalError;
|
||||
err.message = "failed to process " + msg.method;
|
||||
reply.Error(err);
|
||||
}
|
||||
} else {
|
||||
lsResponseError err;
|
||||
|
Loading…
Reference in New Issue
Block a user