system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: Why software developers use error codes and not just say exactly what is wrong?

Was playing Watch_Dogs 2 and was unable to connect to the servers. Instead of just saying "No internet connection" It says a bunch of gibberish.
gpt
Error codes report on the specific fault or symptom, not "what is wrong".  

An error code that translates to "Couldn't connect to server" for example, means that *for some reason* the program couldn't connect.  

What exactly is wrong in that scenario?  It could be that your internet connection is down, the server is down, both are down, you turned off your wifi antenna, there's a memory leak in the program's net code, the net code is poorly written, and many, many more possibilities.  

So often, the error will be accompanied by *common* "what is wrong" causes of the error code "Check your internet connection, check your firewall, server busy/try again later, etc."