Yes OS errors can be vague, but no, you’re not going to just get “disk error error” for such disparate errors.
Do a search for “errno”, and specifically the POSIX error section. There are separate errors for “permission denied”, “device unavailable”, “bad file descriptor”, etc. Windows API calls have a whole host of their own error codes, plus functions to examine what’s going wrong specifically.
This is most likely caused by a higher layer in the code catching errors when it doesn’t know what to do with them, and then just showing a generic message.