Отмененное диалоговое окно без выбора файла: ERR_INVALID_ARG_TYPE - PullRequest
0 голосов
/ 02 октября 2019

Если пользователь отменяет диалоговое окно без выбора файла, в консоли выдается ошибка ERR_INVALID_ARG_TYPE. Полная ошибка читается как The "path" argument must be one of type string, Buffer, or URL. Received type object, что, как я полагаю, имеет место, потому что возвращается undefined.

Это происходит как минимум в контексте writeFile, readFile и unlink.

Я новичок в Node и даже новее в FS, поэтому мне интересно, есть ли подходящий способ справиться с этой ошибкой, кроме ее игнорирования?

Я проверил документацию, но не смог найти ничего, относящегося конкретно к этому обстоятельству (то есть пользователь отменяет диалоговое окно без выбора файла).


Пример

удалить файл через unlink

document.querySelector('#delete-file').addEventListener('click', ()=>{
  dialog.showOpenDialog((filename)=>{
    if (filename === undefined){
      console.log('No files were selected.')
      return
    }
    if (!fs.existsSync(filename)){
      alert(`The file, ${filename}, doesn't exist.`)
    }
    fs.unlink(filename, (err)=>{
      if (err){
        console.log(`An error occurred while updating the file: ${err.message}`)
        return
      }
      alert('The file has been deleted.')
    })
  })
}, false)
...