Well, it would be nice (to have "clear" error messages), but unfortunately it's not that easy.
The program asks the operating system "get me the data from this file" - normally, everything goes well and the operating system says back "No problem, here you are". But sometimes the operation fails - and the system says "Reading failed with error 123456". There are hundreds of error codes, thousands of places where those errors may occur... and the reason is not always clear.
Preparing a program for every possible problem (software, hardware, filesystem etc.) with a specific message isn't really possible.