• Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

 Any plans for more sensible error messages?

FrostyCat

Redemption Seeker
The argument about error messages has been going on for almost 3 years, but it still isn't resolved. In fact, it's gotten worse with recent type-checking additions. If it's too late for 1.x, fine, but you can't play the 2.x card anymore.

The bug report linked above already said most of what needs to be said, but here's a reminder plus some newer developments:
  • The "FATAL ERROR" and "VMError!!" are excessively alarmist, and the ASCII artsy-fartsy border doesn't help. I'm seeing a lot more novices blowing their top and getting worse at problem-solving after switching to 1.x than before. Error messages that incite users to lose their cool could be part of the reason. You don't have to look far from a startled coder to find a stupid coder.
  • Showing operations in assembly-like terms such as "DoAdd" is just needless jargon that not even professional programmers need. What's wrong with "Invalid operands for +" for instance? Or "Unknown variable xyz" instead of "Push::Variable Get"?
  • Showing internal names that don't directly appear in the IDE just causes more needless confusion. Why write "Step Event2" or "gml_Object_object_0_Step_2" when you can just write "End Step Event"?
  • Instance IDs are generally useless with debug mode off, and even then it isn't immediately useful. Who could have traced 100003 back to an instance named inst_14D66E34 by the editor, for instance?
  • Unexpected type errors are needlessly cryptic. What the hell is type "5" or "YYGR" supposed to mean? (Answer: undefined and real --- surprise!)
Here's an example of a GMS 2 error message:
___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Event2
for object object_0:

Variable object_0.b(100003, -2147483648) not set before reading it.
at gml_Object_object_0_Step_2 (line 2) - show_message(b);
############################################################################################
Let's be serious --- what's wrong with this?
Execution error in object_0 End Step Event, action number 1:

Unknown variable: b

Stack trace:
object_0 End Step Event, action number 1: show_message(b);
If you plan to make GMS 2 a tool for both novices and experts, why not start with the error messages? Attempting to look smart by making errors look like the Matrix helps neither novices nor experts.
 
Last edited:
I

icuurd12b42

Guest
And the problem may be the instance 100003 does not exist...

The other one is the array error. Jesus Christ, all the information is there, but it's so confusing
 
Good suggestion, Frosty. I've definitely said "what the hell?!" to some of the error messages over the years, and some of the more alarmist ones have startled me. I always think "obviously this isn't too broken!" a split second later, but why does GM need to raise my blood pressure unnecessarily? It's something I never really gave much thought to, but friendlier error messages would lead to less stressful coding sessions, for sure!
 

Cpaz

Member
Please.

Fix these error messages.

Even as someone who has been using this software for years, it never fails.
These error messages are helpful, but not NEARLY to the extent of which they try.
 
A

Aura

Guest
I personally like GM8-style error messages. Cleaner and easier to understand.

___________________________________________
ERROR in
action number 1
of Create Event
for object object0:

Error in code at line 1:
me = a;
^
at position 6: Unknown variable a
@zbox: Apfeuh~ type 0, 1, 2, 3, 4 and 5 stand for real, string, array, pointer, enum and undefined respectively. What rare piece of information! ^^'
 
Top