- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Windows 8 上运行 Node v4.2.0。我发现 fs.mkdirSync() 偶尔会无缘无故地抛出 EPERM。
我设法使用此测试代码重新创建它,并将其保存在文件 bug.js 中。
var fs = require("fs");
var i;
for (i = 0; i < 100000; i += 1) {
fs.mkdirSync("xx");
fs.rmdirSync("xx");
}
这是我偶尔得到的跟踪:
C:\WIP>node bug
C:\WIP\bug.js:0
Error: EPERM: operation not permitted, mkdir 'C:\WIP\xx'
at Error (native)
at Object.fs.mkdirSync (fs.js:799:18)
at Object.<anonymous> (C:\WIP\bug.js:4:8)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
at startup (node.js:134:18)
at node.js:961:3
这种情况并不总是发生,即使是 100000 次循环也是如此。事实上,它是一个狡猾的野兽 - 如果我运行 bug.js 几次,它似乎会降低遇到异常的可能性。当我 try catch 异常时,我发现它是在循环的数千次成功迭代之后发生的。
为什么会出现异常?有什么办法可以避免异常吗?
最佳答案
我在运行 Node v4.0.0
时遇到了同样的错误,如果我在 Windows 资源管理器中打开该文件夹,这种情况似乎会更频繁地发生。
fs.js:747
return binding.mkdir(pathModule._makeLong(path),
^
Error: EPERM, operation not permitted 'C:\path\folder'
at Error (native)
at Object.fs.mkdirSync (fs.js:747:18)
at Object.<anonymous> (C:\path\script.js:88:4)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
我降级到 Node v0.12.8
并且相同的过程运行顺利。
关于javascript - 为什么 Node mkdirSync() 会抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33244641/
我在 Windows 8 上运行 Node v4.2.0。我发现 fs.mkdirSync() 偶尔会无缘无故地抛出 EPERM。 我设法使用此测试代码重新创建它,并将其保存在文件 bug.js 中。
我有一个代码。 try{ var Storage = multer.diskStorage({ destination: function (req,
我目前正在启动我的 NodeJS 应用程序,并且我有以下 if 语句: Error: ENOENT, no such file or directory './realworks/objects/'
如果不存在,我正在尝试创建完整路径。 代码如下所示: var fs = require('fs'); if (!fs.existsSync(newDest)) fs.mkdirSync(newDest
今天我尝试在 CMD 中使用(create-react-app app-name)创建新的 React 应用程序,但出现了这个错误: PS C:\Users\ahmed\Desktop\My File
我是一名优秀的程序员,十分优秀!