mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-09-28 13:45:37 -04:00
Slightly fix the broken error handling
This commit is contained in:
parent
86f1f23053
commit
2b98c09fba
@ -109,7 +109,10 @@ function readContainer(buffer, offset, typeArgs, rootNode) {
|
||||
tryCatch(() => {
|
||||
readResults = this.read(buffer, offset, typeArgs[index].type, rootNode);
|
||||
}, (e) => {
|
||||
addErrorField(e, index);
|
||||
if (typeArgs && typeArgs[index] && typeArgs[index].name)
|
||||
addErrorField(e, typeArgs[index].name);
|
||||
else
|
||||
addErrorField(e, "unknown");
|
||||
throw e;
|
||||
});
|
||||
results.size += readResults.size;
|
||||
@ -127,7 +130,10 @@ function writeContainer(value, buffer, offset, typeArgs, rootNode) {
|
||||
tryCatch(() => {
|
||||
offset = this.write(value[typeArgs[index].name], buffer, offset, typeArgs[index].type, rootNode);
|
||||
}, (e) => {
|
||||
addErrorField(e, index);
|
||||
if (typeArgs && typeArgs[index] && typeArgs[index].name)
|
||||
addErrorField(e, typeArgs[index].name);
|
||||
else
|
||||
addErrorField(e, "unknown");
|
||||
throw e;
|
||||
});
|
||||
}
|
||||
@ -146,7 +152,10 @@ function sizeOfContainer(value, typeArgs, rootNode) {
|
||||
else
|
||||
size += this.sizeOf(value[typeArgs[index].name], typeArgs[index].type, rootNode);
|
||||
}, (e) => {
|
||||
addErrorField(e, index);
|
||||
if (typeArgs && typeArgs[index] && typeArgs[index].name)
|
||||
addErrorField(e, typeArgs[index].name);
|
||||
else
|
||||
addErrorField(e, "unknown");
|
||||
throw e;
|
||||
});
|
||||
}
|
||||
|
@ -71,12 +71,13 @@ function createPacketBuffer(packetId, state, params, isServer) {
|
||||
assert.notEqual(packetId, undefined);
|
||||
|
||||
var packet = get(packetId, state, !isServer);
|
||||
var packetName = packetNames[state][!isServer ? 'toServer' : 'toClient'][packetId];
|
||||
assert.notEqual(packet, null);
|
||||
packet.forEach(function(fieldInfo) {
|
||||
tryCatch(() => {
|
||||
length += proto.sizeOf(params[fieldInfo.name], fieldInfo.type, params);
|
||||
}, (e) => {
|
||||
e.message = "sizeOf error for " + e.field + " : " + e.message;
|
||||
e.message = "sizeOf error for " + packetName + "." + e.field + " : " + e.message;
|
||||
throw e;
|
||||
});
|
||||
});
|
||||
@ -93,7 +94,7 @@ function createPacketBuffer(packetId, state, params, isServer) {
|
||||
tryCatch(() => {
|
||||
offset = proto.write(value, buffer, offset, fieldInfo.type, params);
|
||||
}, (e) => {
|
||||
e.message = "Write error for " + e.field + " : " + e.message;
|
||||
e.message = "Write error for " + packetName + "." + e.field + " : " + e.message;
|
||||
throw e;
|
||||
});
|
||||
});
|
||||
@ -136,10 +137,16 @@ function parsePacketData(buffer, state, isServer, packetsToParse = {"packet": tr
|
||||
debug("read packetId " + state + "." + packetName + " (0x" + packetId.toString(16) + ")");
|
||||
}
|
||||
|
||||
var packetName = packetNames[state][!isServer ? 'toClient' : 'toServer'][packetId];
|
||||
var i, fieldInfo, readResults;
|
||||
for(i = 0; i < packetInfo.length; ++i) {
|
||||
fieldInfo = packetInfo[i];
|
||||
readResults = proto.read(buffer, cursor, fieldInfo.type, results);
|
||||
tryCatch(() => {
|
||||
readResults = proto.read(buffer, cursor, fieldInfo.type, results);
|
||||
}, (e) => {
|
||||
e.message = "Read error for " + packetName + "." + e.field + " : " + e.message;
|
||||
throw e;
|
||||
});
|
||||
if(readResults === null)
|
||||
throw new Error("A reader returned null. This is _not_ normal");
|
||||
if(readResults.error)
|
||||
|
Loading…
x
Reference in New Issue
Block a user