Closed
Description
Expected to always have an Error with errno, code, syscall and path.
In the following 2 examples one error contains path and the other one doesn't.
- Version: v12.3.1
- Platform: Darwin computer.local 18.6.0 Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64 x86_64
- Subsystem: fs
const fs = require('fs');
fs.writeFileSync('./test2.txt', '');
// missing error.path
fs.mkdir('./test2.txt/sub/dir/dir/dir', {
recursive: true
}, function(err) {
console.log('\n\nerr', err)
console.log('with recursive:true error is MISSING err.path', err.path)
});
// error.path ok
fs.mkdir('./test2.txt/sub/dir/dir/dir', {
recursive: false
}, function(err) {
console.log('\n\nerr', err)
console.log('with recursive:false err.path is', err.path)
});
I believe this was working with older node 10.x versions, possibly related to a change in #27198
Output:
err [Error: ENOTDIR: not a directory, mkdir './test2.txt/sub/dir/dir/dir'] {
errno: -20,
code: 'ENOTDIR',
syscall: 'mkdir',
path: './test2.txt/sub/dir/dir/dir'
}
with recursive:false err.path is ./test2.txt/sub/dir/dir/dir
err [Error: ENOTDIR: not a directory, mkdir] {
errno: -20,
code: 'ENOTDIR',
syscall: 'mkdir'
}
with recursive:true error is MISSING err.path undefined
Metadata
Metadata
Assignees
Labels
No labels