当前位置: 首页 > 知识库问答 >
问题:

电子中的奇怪错误。未捕获的异常:TypeError[ERR\u INVALID\u ARG\u TYPE]:路径

雍嘉勋
2023-03-14

嗨,我正试图遵循一个关于Electron的教程,但是当我试图从菜单中打开一个文件时,我总是遇到这个错误。

未捕获异常:TypeError[ERR_INVALID_ARG_TYPE]:“path”参数必须是字符串、缓冲区或URL类型之一。接收到的类型未定义。。。

这是我的功能。

function openFile() {
  // Opens file dialog looking for markdown
  const files = dialog.showOpenDialog(mainWindow, {
    properties: ['openFile'],
    filters: [{ name: 'Markdown', extensions: ['md', 'markdown', 'txt'] }]
  });

  // If no files
  if (!files) return;

  const file = files[0]; // Grabs first file path in array
  // Loads file contents via path acquired via the dialog
  const fileContent = fs.readFileSync(file).toString();
  console.log(fileContent);
}

尝试恢复到旧版本等。无济于事。

谢谢你的建议。

共有1个答案

秋向阳
2023-03-14

这里要小心,show OpenDialog()是一个异步函数,并返回一个promise。

在你的情况下,正确的用法是:

dialog.showOpenDialog(mainWindow, {
    properties: ['openFile'],
    filters: [{ name: 'Markdown', extensions: ['md', 'markdown', 'txt'] }]
}).then(result => {
    const file = result.filePaths[0];
    const fileContent = fs.readFileSync(file).toString();
    console.log(fileContent);
}).catch(err => {
    console.log(err)
});

还考虑使用<代码> Read Frase<代码>而不是<代码> Read FrimeSyc < /C> >以避免阻塞电子主线。

 类似资料:
  • Twilio新手使用测试帐户。我按照这里列出的安装Twilio PHP的说明进行了安装:https://www.Twilio.com/docs/quickstart/php/sms 因为我得到了一个证书错误,所以我的主机提供程序建议我更改CURLOPT_SSL_VERIFYPEER=>false(从true改为true)。但现在我得到了这个错误。如何修复?:致命错误:未捕获异常“services_

  • 问题内容: 我知道可可中有一个UncaughtExceptionHandler,但是我正在为Swift寻找相同的东西。即,每当应用程序中有任何错误/异常由于任何错误而未在本地捕获时,它应该一直冒泡到顶级应用程序对象,在那里我应该能够妥善处理它并适当地响应用户。 Android有它。Flex有它。Java有它。想知道为什么Swift缺少此关键功能。 问题答案: Swift没有机制来捕获所有任意的运行

  • 我在进行贝宝支付时出现了经验错误。 致命错误:未捕获异常“PayPal\exception\PayPalConnectionException”,消息为“访问https://api.sandbox.paypal.com/v1/payments/payment时获得Http响应代码400”。在C:\xampp\htdocs\paypal\workload\third_party\vendor\pay

  • 我们正在尝试在多个本地环境上运行相同的Web应用程序,该应用程序使用Stumikos作为事务管理器(每个环境都使用相同版本的Spring、Stumikos、tomact等具有相同的配置文件)。其中一些工作正常,但在其中一个中,当我们尝试启动tomcat时,我们会遇到以下异常: 我们无法找出有问题的日志,谷歌也帮不上什么忙。。。有人知道这些奇怪问题的原因吗?同样,我们的环境具有完全相同的配置,工作正

  • 问题内容: 基本上,该网站可以正常运行12多个小时,然后突然停止工作。我将开始在以前运行良好的LINQ查询中引发奇怪的异常。 我在这篇文章的底部提供了堆栈跟踪。 根据在类似SO帖子上找到的建议,我通过直接从Server Explorer中的DB拖动表来删除并重新制作了DBML。比较Git中的新旧内容,我发现了一些不同的字段: 在dbml中将varchar(255)的一个实例设置为nchar(10)

  • 我的电子应用程序有问题。大约9个月前我就让它工作了,但现在我定制的最小化和最大化按钮不能正常工作。 这是我的文件结构 下面是 和 这是我的文件 当我单击最小化或最大化时,什么都不会发生。所以我去http://localhost:8000/html/index.html检查了控制台,我看到了这些错误 未捕获引用错误:索引处未定义require。html:137 未捕获的引用错误:在index.js: