code: @Override public String getMessage() {
      String errnoName = OsConstants.errnoName(errno);
      if (errnoName == null) {
        errnoName = "errno " + errno;
      }
      String description = Libcore.os.strerror(errno);
      return functionName + " failed: " + errnoName + " (" + description + ")";
    }
docs: Converts the stashed function name and errno value to a human-readable string.
  We do this here rather than in the constructor so that callers only pay for
  this if they need it.