মডিউল পাঠ (4/4)
চেষ্টা / ধরা / নিক্ষেপ
জাভাস্ক্রিপ্টে একটি ত্রুটি হল একটি মান (সাধারণত একটি Error অবজেক্ট) যা স্বাভাবিক প্রবাহকে বাধা দেয়
এবং কল স্ট্যাকটিকে বুদবুদ করে যতক্ষণ না কেউ এটি ধরে ফেলে। এই মামলা পরিচালনার গঠন হল
try / catch।
একটি ত্রুটি নিক্ষেপ করা হচ্ছে: throw
function dividi(a, b) {
if (b === 0) {
throw new Error('Divisione per zero');
}
return a / b;
}throw বর্তমান ফাংশন অবিলম্বে বাধা দেয়।
ধরা হচ্ছে: try / catch
try {
const r = dividi(10, 0);
console.log('ok', r);
} catch (err) {
console.log('errore:', err.message); // 'errore: Divisione per zero'
}
// Il programma continua qui, anche se c'è stato un errore.try এর ভিতরের সবকিছু কার্যকর করা হয়েছে; যদি একটি ত্রুটি নিক্ষেপ করা হয় (throw এর মাধ্যমে বা যে কোনো অপারেশন দ্বারা
ব্যর্থ হয়), নিয়ন্ত্রণ catch ব্লকে যায়। catch (...) এর পরের ভেরিয়েবল ত্রুটিটি পায়।
finally (ঐচ্ছিক)
কোড যে সবসময় রান, ত্রুটি বা না. সম্পদ বন্ধ করার জন্য দরকারী:
try {
// ... operazione rischiosa
} catch (err) {
// ... log
} finally {
// ... pulizia (sempre eseguita)
}কখন এটি ব্যবহার করবেন (এবং কখন নয়)
- হ্যাঁ: I/O অপারেশন (
JSON.parseঅবিশ্বস্ত ইনপুটে,fetch, ডিস্ক অ্যাক্সেস), রূপান্তর যা ব্যর্থ হতে পারে। - হয়তো না: স্বাভাবিক প্রবাহের জন্য। আপনি যদি জানেন যে একটি ইনপুট অবৈধ হতে পারে, তবে এটি পরীক্ষা করা ভাল
একটি
ifদিয়ে নিক্ষেপ এবং ধরার চেয়ে।
// Tipico: parsing JSON difensivo
function parseJsonSafe(text) {
try {
return { ok: true, value: JSON.parse(text) };
} catch (err) {
return { ok: false, error: err.message };
}
}
parseJsonSafe('{"a":1}'); // { ok: true, value: {a:1} }
parseJsonSafe('non json'); // { ok: false, error: '...' }চেষ্টা করে দেখুন
`safeDivide(a, b)` সংজ্ঞায়িত করুন: b 0 হলে 'Divisione per zero' বার্তা সহ একটি ত্রুটি নিক্ষেপ করুন, অন্যথায় a/b ফেরত দিন।
ইঙ্গিত দেখান
যদি (b === 0) নতুন ত্রুটি নিক্ষেপ ('...'); তারপর a/b ফেরত দিন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
`parseJsonSafe(text)` সংজ্ঞায়িত করুন: টেক্সট বৈধ হলে JSON { ঠিক আছে: সত্য, মান: <object> }, অন্যথায় { ঠিক আছে: মিথ্যা } দিন। JSON.parse এ ট্রাই/ক্যাচ ব্যবহার করুন।
ইঙ্গিত দেখান
চেষ্টা করে JSON.parse মোড়ানো; ক্যাচ রিটার্নে { ঠিক আছে: মিথ্যা }।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ