mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Do not log node errors if handled by a Catch node
This commit is contained in:
parent
ed1a55d9cd
commit
8f92a3e875
@ -243,10 +243,12 @@ Node.prototype.error = function(logMessage,msg) {
|
|||||||
if (typeof logMessage != 'boolean') {
|
if (typeof logMessage != 'boolean') {
|
||||||
logMessage = logMessage || "";
|
logMessage = logMessage || "";
|
||||||
}
|
}
|
||||||
log_helper(this, Log.ERROR, logMessage);
|
var handled = false;
|
||||||
/* istanbul ignore else */
|
|
||||||
if (msg) {
|
if (msg) {
|
||||||
flows.handleError(this,logMessage,msg);
|
handled = flows.handleError(this,logMessage,msg);
|
||||||
|
}
|
||||||
|
if (!handled) {
|
||||||
|
log_helper(this, Log.ERROR, logMessage);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -221,7 +221,7 @@ function Flow(global,flow) {
|
|||||||
count = msg.error.source.count+1;
|
count = msg.error.source.count+1;
|
||||||
if (count === 10) {
|
if (count === 10) {
|
||||||
node.warn(Log._("nodes.flow.error-loop"));
|
node.warn(Log._("nodes.flow.error-loop"));
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -265,6 +265,7 @@ function Flow(global,flow) {
|
|||||||
throwingNode = activeNodes[throwingNode.z];
|
throwingNode = activeNodes[throwingNode.z];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return handled;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,27 +174,31 @@ function getFlows() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function delegateError(node,logMessage,msg) {
|
function delegateError(node,logMessage,msg) {
|
||||||
|
var handled = false;
|
||||||
if (activeFlows[node.z]) {
|
if (activeFlows[node.z]) {
|
||||||
activeFlows[node.z].handleError(node,logMessage,msg);
|
handled = activeFlows[node.z].handleError(node,logMessage,msg);
|
||||||
} else if (activeNodesToFlow[node.z] && activeFlows[activeNodesToFlow[node.z]]) {
|
} else if (activeNodesToFlow[node.z] && activeFlows[activeNodesToFlow[node.z]]) {
|
||||||
activeFlows[activeNodesToFlow[node.z]].handleError(node,logMessage,msg);
|
handled = activeFlows[activeNodesToFlow[node.z]].handleError(node,logMessage,msg);
|
||||||
} else if (activeFlowConfig.subflows[node.z] && subflowInstanceNodeMap[node.id]) {
|
} else if (activeFlowConfig.subflows[node.z] && subflowInstanceNodeMap[node.id]) {
|
||||||
subflowInstanceNodeMap[node.id].forEach(function(n) {
|
subflowInstanceNodeMap[node.id].forEach(function(n) {
|
||||||
delegateError(getNode(n),logMessage,msg);
|
handled = handled || delegateError(getNode(n),logMessage,msg);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
return handled;
|
||||||
}
|
}
|
||||||
function handleError(node,logMessage,msg) {
|
function handleError(node,logMessage,msg) {
|
||||||
|
var handled = false;
|
||||||
if (node.z) {
|
if (node.z) {
|
||||||
delegateError(node,logMessage,msg);
|
handled = delegateError(node,logMessage,msg);
|
||||||
} else {
|
} else {
|
||||||
if (activeFlowConfig.configs[node.id]) {
|
if (activeFlowConfig.configs[node.id]) {
|
||||||
activeFlowConfig.configs[node.id]._users.forEach(function(id) {
|
activeFlowConfig.configs[node.id]._users.forEach(function(id) {
|
||||||
var userNode = activeFlowConfig.allNodes[id];
|
var userNode = activeFlowConfig.allNodes[id];
|
||||||
delegateError(userNode,logMessage,msg);
|
handled = handled || delegateError(userNode,logMessage,msg);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
function delegateStatus(node,statusMessage) {
|
function delegateStatus(node,statusMessage) {
|
||||||
|
Loading…
Reference in New Issue
Block a user