تصور کنید یک فایل داریم با نام data.json و محتوای درون آن شامل یک آرایه از آبجکت های json است.

هدف ما اینه که میخواهیم علاوه بر اینکه این فایل رو میخونیم و اطلاعاتش رو درون یک متغیر ذخیره میکنیم. یک عضو دیگه هم به آرایه اضافه کنیم و آرایه جدید رو درون فایل data.json بنویسیم.

 

const fs = require('fs');

let data = fs.readFileSync('data.json');
data = JSON.parse(data);
data.push({myName:"Mokhtar"});
fs.writeFileSync('data.json',JSON.stringify(data));
console.log(data);

تصور کنید فایل data.json وجود نداشته باشد و ما برنامه رو اجرا کردیم. برنامه کرش میکنه و خطا میده. در صفحه مرجعی که برای جاواسکریپت تهیه کردم، ساختار try , catch , finally توضیح داده شده که الان به دردمون میخوره و میتونیم کاری کنیم که برنامه به کار خودش ادامه بده و خطا رو در کنسول چاپ کنه.

try{
    let data = fs.readFileSync('data.json');
    data = JSON.parse(data);
    data.push({myName:"Mokhtar"});
    fs.writeFileSync('data.json',JSON.stringify(data));
    console.log(data)
    }catch(err){
    console.log(err)
    }
console.log('program working whitout any crash 1.');
console.log('program working whitout any crash 2.');
console.log('program working whitout any crash 3.');
console.log('program working whitout any crash 4.');
console.log('program working whitout any crash 5.');

فایل data.json رو تغییر نام بدید و برنامه رو اجرا کنید. تمام پیام ها انتهای کدمون لاگ میشن که یعنی برنامه متوقف نشده و داره به کارش تا خط آخر ادامه میده.