-
-
Notifications
You must be signed in to change notification settings - Fork 23.7k
Description
If you stumble upon difficult-to-understand error messages (regardless of your skill level with Godot), please report them here. In your comment, make sure to state:
- Your operating system and Godot version.
- What you were doing when you got the error message. Always include code samples!
- Ideally, a minimal reproduction project that returns the error message.
Note that this issue isn't about reporting bugs, but reporting cryptic error messages. This issue is about improving error messages so users can figure things out by themselves more easily. If you stumble upon a bug, please open a dedicated issue instead of commenting in this tracker issue.
See #24199 for background.
Issues
- Using GDNative, NativeScript::_update_placeholder: generates unhelpful error message about !script_data #42948
-
File.eof_reached()causes infinite while-loop on Android when read/write permissions aren't set #42959 (Added a more descriptive error message for file operations in core_bind.cpp #43076) - Non explicit error message when setting active a
Viewportthat is already active #50382 - [TRACKER] Error macros with cryptic messages due to not having proper custom messages defined #42719 (comment)
- Error message for reaching maximum number of concurrent DNS queries is not explicit. #60602
- Improve error message when WebP fails to load in exported project due to the module being disabled #62712
- Unhelpful error message when ArrayMesh has a shadow_mesh with a different number of surfaces #94705
- More helpful error message for
Condition "!v.is_finite()" is true#97708
For contributors
Even if you're a beginner in C++, you should be able to add error macros.
To add error explanations to existing errors, search for their origin in the source code (by reading the automatically-generated error message), suffix the error macro with _MSG and add a parameter with a custom message at the end.
We recommend adding context (such as provided arguments versus expected ones) whenever possible. Some examples:
# Best, do this whenever possible:
"Can't listen server on port 420000. The port number must be between 1 and 65535."
# OK:
"Can't listen server on port 420000."
# Bad, this doesn't give much context:
"Can't listen server."Here are some real-world examples of improving error explanations: https://github.com/godotengine/godot/pull/41352/files, https://github.com/godotengine/godot/pull/35862/files
See Error macros in the documentation for more information.
Metadata
Metadata
Assignees
Type
Projects
Status