Skip to content

Commit cfc50f5

Browse files
committed
added try catch to handle non existing files
1 parent e679300 commit cfc50f5

1 file changed

Lines changed: 25 additions & 20 deletions

File tree

implement-shell-tools/wc/customWc.js

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -41,32 +41,37 @@ for (let path of pathArray) {
4141
let numberOfWords = 0;
4242
let numberOfCharacters = 0;
4343

44-
const file = await fs.readFile(path, "utf-8");
45-
numberOfLines = file.split("\n").length - 1;
46-
const words = file.match(/\S+/g);
47-
numberOfWords = words ? words.length : 0;
48-
numberOfCharacters = file.length;
44+
try {
45+
const file = await fs.readFile(path, "utf-8");
46+
numberOfLines = file.split("\n").length - 1;
47+
const words = file.match(/\S+/g);
48+
numberOfWords = words ? words.length : 0;
49+
numberOfCharacters = file.length;
4950

50-
const rowNumbers = [];
51+
const rowNumbers = [];
5152

52-
if (options.lines) rowNumbers.push(numberOfLines);
53-
if (options.words) rowNumbers.push(numberOfWords);
54-
if (options.characters) rowNumbers.push(numberOfCharacters);
53+
if (options.lines) rowNumbers.push(numberOfLines);
54+
if (options.words) rowNumbers.push(numberOfWords);
55+
if (options.characters) rowNumbers.push(numberOfCharacters);
5556

56-
if (rowNumbers.length === 0) {
57-
console.log(
58-
`${padStartNumbers(numberOfLines, numberOfWords, numberOfCharacters)} ${path}`,
59-
);
60-
} else {
61-
if (pathArray.length === 1 && rowNumbers.length === 1) {
62-
console.log(`${rowNumbers[0]} ${path}`);
57+
if (rowNumbers.length === 0) {
58+
console.log(
59+
`${padStartNumbers(numberOfLines, numberOfWords, numberOfCharacters)} ${path}`,
60+
);
6361
} else {
64-
console.log(`${padStartNumbers(...rowNumbers)} ${path}`);
62+
if (pathArray.length === 1 && rowNumbers.length === 1) {
63+
console.log(`${rowNumbers[0]} ${path}`);
64+
} else {
65+
console.log(`${padStartNumbers(...rowNumbers)} ${path}`);
66+
}
6567
}
68+
totalOfLines += numberOfLines;
69+
totalOfWords += numberOfWords;
70+
totalOfCharacters += numberOfCharacters;
71+
} catch (error) {
72+
console.error(error.message);
73+
process.exitCode = 1;
6674
}
67-
totalOfLines += numberOfLines;
68-
totalOfWords += numberOfWords;
69-
totalOfCharacters += numberOfCharacters;
7075
}
7176

7277
if (pathArray.length > 1) {

0 commit comments

Comments
 (0)