Improve the `get_node()` error message to be more descriptive

- Mention the origin of the `get_node()` call.
- Mention whether the attempted path is absolute or relative.

See #46214.

(cherry picked from commit e6abdc943d)
This commit is contained in:
Hugo Locurcio 2021-02-20 02:05:19 +01:00 committed by Rémi Verschelde
parent 327586f582
commit 2735a5498e
1 changed files with 8 additions and 1 deletions

View File

@ -1378,7 +1378,14 @@ Node *Node::get_node_or_null(const NodePath &p_path) const {
Node *Node::get_node(const NodePath &p_path) const {
Node *node = get_node_or_null(p_path);
ERR_FAIL_COND_V_MSG(!node, NULL, "Node not found: " + p_path + ".");
if (p_path.is_absolute()) {
ERR_FAIL_COND_V_MSG(!node, NULL,
vformat("(Node not found: \"%s\" (absolute path attempted from \"%s\").)", p_path, get_path()));
} else {
ERR_FAIL_COND_V_MSG(!node, NULL,
vformat("(Node not found: \"%s\" (relative to \"%s\").)", p_path, get_path()));
}
return node;
}