⊗jsSpExcAT 144 of 294 menu

JavaScript-də istisna növlərinin tətbiqi

Tutaq ki, bizim parametr kimi məlumat massivini ehtiva edən JSON qəbul edən və bu massivin hər bir elementini lokal saxlanc yaddaşına yazan funksiyamız var:

function saveData(json) { let arr = JSON.parse(json); for (let i = 0; i < arr.length; i++) { localStorage.setItem(i, arr[i]); } }

Bu funksiyada istisna vəziyyəti iki yerdə yarana bilər: JSON-u təhlil edərkən və məlumatları lokal saxlanca yazmağa cəhd edərkən.

Tutaq ki, məsələn, səhv emalı kimi biz müəyyən problem mesajını göstərməyə qərar verdik:

try { saveData('{1,2,3,4,5}'); } catch (error) { alert('bəzi problemlər'); }

Bizim mesajımız, əlbəttə ki, yaxşıdır, amma o, yaranan problemləri heç cür fərqləndirmir. Daha məntiqli olardı, hansı xüsusi problemin yaranması barədə məlumat vermək.

Bunun üçün yaranan səhvləri ada görə fərqləndirək:

try { saveData('{1,2,3,4,5}'); } catch (error) { if (error.name == 'QuotaExceededError') { alert('saxlanc yaddaşında yer qurtardı'); } if (error.name == 'SyntaxError') { alert('səhv JSON'); } }

Mənim saveData funksiyamın kodunu köçürün, və sonra mənim koduma gizlincə baxmadan təsvir etdiyim səhv emalını həyata keçirin.

Xüsusi olaraq növbə ilə saveData funksiyasında yarana biləcək istisna vəziyyətlər yaradın.

idesitbyru