தொகுதி பாடங்கள் (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 {சரி: true, மதிப்பு: <object> }, இல்லையெனில் { சரி: தவறு } என்பதைத் திருப்பி அனுப்பவும். JSON.parse இல் try/catch ஐப் பயன்படுத்தவும்.
குறிப்பைக் காட்டு
முயற்சியில் JSON.parseஐ மடக்கு; கேட்ச் ரிட்டர்னில் { சரி: பொய் }.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்