VB.Net-এ Custom Exception তৈরি করা
Exception Handling (ত্রুটি পরিচালনা) VB.Net-এ একটি গুরুত্বপূর্ণ বিষয়, যা প্রোগ্রামের runtime এর সময়ে যে কোনও ত্রুটি বা ভুল সনাক্ত এবং তার সঠিক ব্যবস্থা গ্রহণে সাহায্য করে। VB.Net-এ, আপনি Custom Exception তৈরি করতে পারেন, যা আপনাকে আপনার অ্যাপ্লিকেশনের জন্য নির্দিষ্ট ত্রুটি পরিস্থিতির জন্য উপযুক্ত ব্যতিক্রম (exception) তৈরি করার সুযোগ দেয়।
Custom Exception হল আপনার নিজস্ব ত্রুটি শ্রেণী (exception class) যা Exception ক্লাস থেকে উত্তরাধিকারসূত্রে পাওয়া যায় এবং এটি আপনার কাস্টম ত্রুটি পরিস্থিতি চিহ্নিত এবং পরিচালনা করতে ব্যবহৃত হয়।
Custom Exception তৈরি করার পদক্ষেপ:
- Exception ক্লাস থেকে উত্তরাধিকার গ্রহণ করুন: প্রথমে, আপনি
Exceptionক্লাস বা এর যে কোনো উপক্লাস থেকে উত্তরাধিকার নিয়ে আপনার কাস্টম এক্সেপশন ক্লাস তৈরি করবেন। - কাস্টম কন্সট্রাক্টর যোগ করুন: আপনি আপনার কাস্টম এক্সেপশন ক্লাসে কন্সট্রাক্টর (constructor) ব্যবহার করতে পারেন, যা ত্রুটির বার্তা বা অতিরিক্ত তথ্য গ্রহণ করবে।
- শুধুমাত্র আপনার প্রোগ্রামে ব্যবহৃত ত্রুটি সনাক্ত করুন: আপনি যা চান তা অন্তর্ভুক্ত করার জন্য কাস্টম এক্সেপশন তৈরি করুন।
Custom Exception তৈরি করার উদাহরণ:
' Custom Exception class তৈরি করা
Public Class InvalidAgeException
Inherits Exception
' কাস্টম কন্সট্রাক্টর তৈরি করা, যা ত্রুটি বার্তা গ্রহণ করবে
Public Sub New(message As String)
' Exception ক্লাসের কন্সট্রাক্টর কল করা
MyBase.New(message)
End Sub
' কাস্টম কন্সট্রাক্টর তৈরি করা, যা ত্রুটি বার্তা এবং অভ্যন্তরীণ এক্সেপশন গ্রহণ করবে
Public Sub New(message As String, innerException As Exception)
MyBase.New(message, innerException)
End Sub
End Classএখানে, InvalidAgeException নামে একটি কাস্টম এক্সেপশন তৈরি করা হয়েছে, যা Exception ক্লাস থেকে উত্তরাধিকার পেয়েছে। এর মধ্যে দুটি কন্সট্রাক্টর রয়েছে:
- একটি কন্সট্রাক্টর যা শুধুমাত্র ত্রুটি বার্তা গ্রহণ করে।
- আরেকটি কন্সট্রাক্টর যা ত্রুটি বার্তা এবং অভ্যন্তরীণ (inner) এক্সেপশন গ্রহণ করে।
Custom Exception ব্যবহার করার উদাহরণ:
Sub Main()
Try
' একটি কাস্টম এক্সেপশন প্রাসঙ্গিক শর্তের জন্য তৈরি করা
Dim age As Integer = -5
If age < 0 Then
Throw New InvalidAgeException("Age cannot be negative")
End If
Catch ex As InvalidAgeException
' কাস্টম এক্সেপশন হ্যান্ডল করা
Console.WriteLine("Custom Exception caught: " & ex.Message)
End Try
End Subএখানে, age যদি ঋণাত্মক (negative) হয়, তাহলে আমরা InvalidAgeException কাস্টম এক্সেপশনটি তৈরি করে এটি Throw করি এবং Catch ব্লকে এটি হ্যান্ডল করা হয়। এর ফলে কাস্টম এক্সেপশনটি গ্রহন করে Message প্রিন্ট করা হয়।
Custom Exception এর ব্যবহার:
- শুধুমাত্র নির্দিষ্ট পরিস্থিতিতে ত্রুটি হ্যান্ডলিং: যখন একটি নির্দিষ্ট ধরণের ত্রুটি ঘটে, তখন আপনি কাস্টম এক্সেপশন ব্যবহার করতে পারেন। যেমন: "অবৈধ বয়স", "অবৈধ ইনপুট" ইত্যাদি।
- পাঠযোগ্য ত্রুটি বার্তা প্রদান: আপনি কাস্টম এক্সেপশন ব্যবহার করে আপনার অ্যাপ্লিকেশনের ত্রুটি বার্তা আরও বোধগম্য ও স্পষ্ট করতে পারেন।
- এনক্যাপসুলেশন: আপনি যেভাবে ত্রুটির পরিস্থিতি তৈরি করতে চান এবং তা হ্যান্ডেল করতে চান, তা কাস্টম এক্সেপশন ক্লাসের মাধ্যমে এনক্যাপসুলেট (Encapsulate) করা যায়। এতে আপনার মূল কোড পরিষ্কার থাকে এবং এক্সেপশন হ্যান্ডলিং সুনির্দিষ্ট এবং কার্যকরী হয়।
Conclusion
Custom Exceptions ব্যবহারের মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের জন্য উপযুক্ত এবং বোধগম্য ত্রুটি বার্তা প্রদান করতে পারেন। এটি ত্রুটি মোকাবেলার জন্য আরও উন্নত এবং স্পষ্ট পদ্ধতি তৈরি করতে সাহায্য করে। আপনি Exception ক্লাস থেকে উত্তরাধিকার নিয়ে একটি কাস্টম এক্সেপশন তৈরি করতে পারেন এবং এতে অতিরিক্ত ডেটা বা কাস্টম তথ্য যুক্ত করতে পারেন, যা ডেভেলপারকে ত্রুটি পরিস্থিতি আরও ভালোভাবে বুঝতে সাহায্য করে।
Read more