summaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2021-02-20 02:05:19 +0100
committerHugo Locurcio <hugo.locurcio@hugo.pro>2021-02-22 12:19:23 +0100
commite6abdc943dfa33664d94c0b3cb27465039ea7819 (patch)
tree15abd8a39d9db525343ed24fc96780a5ae1b5398 /scene
parentdc1ae065578baee102d461353c757ebf2cc5cf8c (diff)
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.
Diffstat (limited to 'scene')
-rw-r--r--scene/main/node.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index f6a0f5a6c0..3df8e07cff 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -1442,7 +1442,15 @@ 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, nullptr, "Node not found: " + p_path + ".");
+
+ if (p_path.is_absolute()) {
+ ERR_FAIL_COND_V_MSG(!node, nullptr,
+ vformat(R"(Node not found: "%s" (absolute path attempted from "%s").)", p_path, get_path()));
+ } else {
+ ERR_FAIL_COND_V_MSG(!node, nullptr,
+ vformat(R"(Node not found: "%s" (relative to "%s").)", p_path, get_path()));
+ }
+
return node;
}