ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-23, Thursday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

TypeScript හි Try‑Catch වලට පිටුපස: Functional Error Handling ක්‍රමය

TypeScript හි Try‑Catch වලට පිටුපස: Functional Error Handling ක්‍රමය

TypeScript සංවර්ධකයන්ට බොහොමයක් වෙලාවේ try‑catch භාවිතයෙන් දෝෂ හසුරවන්නා ලියයි. එහෙත් එය කේතයේ අස්ථානගත කරුණු රහිතව, දෝෂය සදහා වර්ගයක් දැක්වීමට නොහැකි වේ.

උදාහරණයක් ලෙස, fetchUserOrders නම් async function එකක් ගැන සිතන්න. එහි try බ්ලොක් එකේ fetchUser සහ fetchOrders කැඳවලා, පසුබැසීමේ catch බ්ලොක් එකේ error වර්ගය unknown වේ. මෙයින් තේරෙන්නේ, දෝෂ වර්ගය අඳුරුයි, function signature එකේ අසාර්ථකත්වය පෙන්වන්නේ නැත, සහ පසුකාලීන සංයෝජන (composition) අසීරු වේ.

මෙම ගැටලුවට Either<E, A> වර්ගය විසඳුමක් ලෙස ඉදිරිපත් කරයි. Either යනු සාර්ථක වන්නේ A වර්ගය, අසාර්ථක වන්නේ E වර්ගය – මෙය function signature එකේම දැක්වීම නිසා TypeScript compiler එකම පරීක්ෂා කරයි.

උදාහරණයක් ලෙස, validateAge function එක Either<ValidationError, number> ආකාරයෙන් ප්‍රතිලාභ දෙනවා. අංකයක් නොවේ නම් හෝ පරාසයෙන් පිටවීම් වුනාම left (දෝෂ) ලබා දෙයි, සාර්ථක නම් right (අගය) ලබා දෙයි.

ඉතා බලවත් වනුයේ pipe සහ chain ක්‍රියාකාරකම් එකට ගැලපීමයි. parsePercentage function එකේ පියවර පියවරට දෝෂ පරීක්ෂා කර, පළමු දෝෂය ලැබෙන තුරු ඉදිරියට යන්නේ නැත. මෙයින් කේතයේ readability සහ maintainability වැඩිවේ.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ තාක්ෂණය ඉගෙනීමට කැමති සිසුන්, නවක සංවර්ධකයින් සහ ව්‍යාපාරිකයින් සඳහා මෙම ක්‍රමය විශාල වාසියක් ගෙනෙනවා:

  • දෝෂ පාරදර්ශීභාවය: function signature එකේම දෝෂ වර්ග දැක්වීම නිසා, කේත පරීක්ෂකයන් (IDE) සහ compiler එකේ මඟින් වැරදි පසුතැවීමක් පසු නොවෙයි.
  • කේත සංයෝජනයේ පහසුව: Either සහ pipe භාවිතයෙන් බහු පියවර data processing pipelines ලිවිය හැකි බැවින්, async/await + try‑catch වලින් ඇති nested structure වලින් මුදවා ගත හැක.
  • ව්‍යාපාරික ගුණාත්මකතාව: නිෂ්පාදන කේතයේ අනාගත දෝෂ හඳුනා ගැනීම ඉක්මනින් සිදු වීම නිසා, සේවා uptime එක වැඩිවෙයි, පාරිභෝගික විශ්වාසය වැඩේ.

ඉදිරියේදී, TypeScript community එකේ Either වැනි functional data types පිළිබඳ ලයිබ්‍රරීන් වැඩි වශයෙන් භාවිතා කරමින්, ශ්‍රී ලංකාවේ software development ecosystem එකේ ගුණාත්මකත්වය ඉහළ දැමීමට හැකියාව ඇත.

අවසානයේ, try‑catch එකට පමණක් සීමා නොවී, functional error handling අනුගමනය කිරීමෙන්, කේතය වඩා පාරදර්ශී, සුරක්ෂිත, සහ අනාගත සංවර්ධනය සඳහා සුදුසු වේ.

💡 ඔබේ TypeScript කේතයට functional error handling එකක් එක්කර බලන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#TypeScript #ErrorHandling #FunctionalProgramming #Developers #SriLanka