onerror

The FileReader onerror handler receives an Event object, not an Error object, as a parameter, but an error can be accessed from the FileReader object, as instanceOfFileReader.error

// Callback from a <input type="file" onchange="onChange(event)">
function onChange(event) {
  var file = event.target.files[0];
  var reader = new FileReader();
  reader.onerror = function(event) {
    alert("Failed to read file!\n\n" + reader.error);
    reader.abort(); // (...does this do anything useful in an onerror handler?)
  };

  reader.readAsText(file);
}