Javascript Error Handling Patterns Try Catch Promise Reject
Definisi
JS menangani error via try/catch/finally (sync), .catch() / try/catch dengan await (async), dan throw new Error(). Error punya subclass (TypeError, RangeError, SyntaxError) untuk klasifikasi. Promise yang reject harus ditangkap atau jadi unhandled rejection.
Kapan dipakai
Selalu tangkap error di batas aplikasi (fetch, parse JSON, validasi). Untuk async, jangan biarkan reject menggantung tanpa handler.
Cara kerja
try {
JSON.parse(bad);
} catch (e) {
if (e instanceof SyntaxError) console.log('json rusak');