I have requirement where when showOpenDialog , user enters path manually and it does not exist, 
another dialog pops up and asks if path should be created automatically.

However I only see a callback at https://github.com/electron/electron/blob/master/docs/api/dialog.md#dialogshowopendialogbrowserwindow-options-callback

and i cant capture error so I can open another dialog.Electron just htorws error its self with following message
```
Path does not exist.
Check the path and try again.
```
see here as windows supports it
https://msdn.microsoft.com/en-us/library/system.windows.forms.filedialog.checkfileexists(v=vs.110).aspx

something like will be very helpful
```
openFileDialog1.CheckFileExists = true;
openFileDialog1.CheckPathExists = true;.
```
atom/browser/ui/file_dialog_win.cc
std::wstring directory = IsDirectory(file_path) ?
        file_path.value() :
        file_path.DirName().value();
    ATL::CComPtr<IShellItem> folder_item;
    HRESULT hr = SHCreateItemFromParsingName(directory.c_str(),
                                             NULL,
                                             IID_PPV_ARGS(&folder_item));
    if (SUCCEEDED(hr))
      GetPtr()->SetFolder(folder_item);
  }
  std::unique_ptr<T> dialog_;
  DISALLOW_COPY_AND_ASSIGN(FileDialog);
};
struct RunState {
  base::Thread* dialog_thread;
  base::MessageLoop* ui_message_loop;
};
bool CreateDialogThread(RunState* run_state) {
  std::unique_ptr<base::Thread> thread(
      new base::Thread(ATOM_PRODUCT_NAME "FileDialogThread"));
  thread->init_com_with_mta(false);
  if (!thread->Start())
    return false;
  run_state->dialog_thread = thread.release();
  run_state->ui_message_loop = base::MessageLoop::current();
  return true;
}
void RunOpenDialogInNewThread(const RunState& run_state,