Programming TypeScript


Download 1.81 Mb.
bet131/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   127   128   129   130   131   132   133   134   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

*/
funktsiyasi parse ( tug'ilgan kun : string ) : Sana { //...
sinab ko'rish / qo'lga olish va istisnolarni umuman tekshirib ko'rmaydi , chunki muhandislar dangasa (hech bo'lmaganda men) va turdagi tizim ularga o'tkazib yuborilganligini aytmaydi. ish va uni hal qilish kerak. Ba'zan, xuddi shu misolda bo'lgani kabi, xatolar shunchalik kutiladiki, dasturning ishdan chiqishiga olib kelmasligi uchun quyi oqim kodlari ularni hal qilishi kerak.
Iste'molchilarga muvaffaqiyat va xato holatlarini hal qilishlari kerakligini yana qanday qilib ko'rsatishimiz mumkin?

Istisnolarni qaytarish


TypeScript Java emas va otish bandlarini qo'llab-quvvatlamaydi. 34Ammo biz ittifoq turlari bilan shunga o'xshash narsaga erishishimiz mumkin:
// ... funktsiyasi parse ( tug'ilgan kun : string
) : Sana | InvalidDateFormatError | DateIsInTheFutureError {
ruxsat bering sana = yangi Sana ( tug'ilgan kun ) agar ( ! isValid ( sana )) {
qaytish yangi InvalidDateFormatError ( 'Sanani YYYY/MM/KK shaklida kiriting' )
}
agar ( sana . getTime () > Sana . hozir ()) {
qaytish yangi DateIsInTheFutureError ( 'Siz vaqt hukmdorimisiz?' ) }
qaytish sana }
Endi iste'molchi uchta holatni ko'rib chiqishga majbur bo'ladi - InvalidDateFormatError ,
DateIsInTheFutureError va muvaffaqiyatli tahlil qilish - aks holda ular kompilyatsiya vaqtida TypeError oladi :
// ...
ruxsat bering natija = parse ( so'rash ()) // Yoki sana yoki xato, agar ( natija misol InvalidDateFormatError ) {
konsol . xato ( natija . xabar )
} boshqa agar ( natija misol DateIsInTheFutureError ) {
konsol . ma'lumot ( natija . xabar )
} boshqa {
konsol . ma'lumot ( 'Sana' , natija . toISOString ()) }
Bu erda biz TypeScript tipi tizimidan muvaffaqiyatli foydalandik:

  • Parse imzosidagi mumkin bo'lgan istisnolarni kodlang .

  • Qaysi istisnolar bo'lishi mumkinligi haqida iste'molchilarga xabar bering.

  • Iste'molchilarni istisnolarning har birini ko'rib chiqishga (yoki qayta tiklashga) majburlang.

Dangasa iste'molchi har bir xatoni alohida hal qilishdan qochishi mumkin. Ammo ular buni aniq qilishlari kerak:
// ... ruxsat bering natija = parse ( so'rang ()) // Yo sana yoki xato

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   127   128   129   130   131   132   133   134   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling