Checked এবং Unchecked Exceptions

Exception Handling এবং Try-Catch - কটলিন (Kotlin) - Mobile App Development

411

Checked এবং Unchecked Exceptions

Exceptions হল এমন ঘটনা যা প্রোগ্রামের কার্যকলাপকে ব্যাহত করে। Exception handling-এর মাধ্যমে আপনি এই সমস্যা মোকাবেলা করতে পারেন। Exceptions সাধারণত দুই ধরনের হয়ে থাকে: Checked Exceptions এবং Unchecked Exceptions। নিচে এদের মধ্যে পার্থক্য এবং ব্যবহার নিয়ে বিস্তারিত আলোচনা করা হলো।


১. Checked Exceptions

Checked Exceptions হলো এমন এক ধরনের exception যা কম্পাইল টাইমে চেক করা হয়। অর্থাৎ, যদি আপনার কোডে কোনো checked exception ঘটতে পারে, তাহলে আপনাকে এটি পরিচালনা করতে হবে। যদি না করেন, তবে কম্পাইলার একটি এরর দেখাবে এবং কোডটি কম্পাইল হবে না।

উদাহরণ:

import java.io.File
import java.io.FileNotFoundException

fun readFile(fileName: String) {
    try {
        val file = File(fileName)
        val content = file.readText() // FileNotFoundException হতে পারে
        println(content)
    } catch (e: FileNotFoundException) {
        println("File not found: ${e.message}")
    }
}

fun main() {
    readFile("non_existent_file.txt")
}

ব্যাখ্যা:

  • এখানে FileNotFoundException একটি checked exception। যখন একটি ফাইল খুঁজে পাওয়া যায় না, তখন এটি উঠবে। কম্পাইলার আপনাকে try-catch ব্লক ব্যবহার করতে বাধ্য করে, অন্যথায় কোডটি কম্পাইল হবে না।

Checked Exceptions-এর উদাহরণ:

  • IOException
  • SQLException
  • ClassNotFoundException

২. Unchecked Exceptions

Unchecked Exceptions হলো এমন এক ধরনের exception যা রানটাইমে ঘটে এবং কম্পাইল টাইমে চেক করা হয় না। অর্থাৎ, যদি আপনার কোডে কোনো unchecked exception ঘটে, তাহলে এটি রানটাইমে ঘটে এবং সাধারণত এই ধরনের exceptions একটি প্রোগ্রামকে ক্র্যাশ করে। Unchecked exceptions হল মূলত RuntimeException এর সাবক্লাস।

উদাহরণ:

fun divide(a: Int, b: Int): Int {
    return a / b // ArithmeticException ঘটতে পারে যদি b = 0 হয়
}

fun main() {
    try {
        val result = divide(10, 0)
        println("Result: $result")
    } catch (e: ArithmeticException) {
        println("Error: ${e.message}") // আউটপুট: Error: / by zero
    }
}

ব্যাখ্যা:

  • এখানে ArithmeticException একটি unchecked exception। যখন b শূন্য হবে, তখন এটি ঘটবে। কম্পাইলার এটি চেক করে না, কিন্তু আপনি এটিকে try-catch ব্লক দিয়ে পরিচালনা করতে পারেন।

Unchecked Exceptions-এর উদাহরণ:

  • NullPointerException
  • IndexOutOfBoundsException
  • ArithmeticException

৩. Checked এবং Unchecked Exceptions-এর পার্থক্য

বৈশিষ্ট্যChecked ExceptionsUnchecked Exceptions
চেকিংকম্পাইলার দ্বারা চেক করা হয়রানটাইমে ঘটে, কম্পাইলার দ্বারা চেক করা হয় না
প্রয়োজনীয়তাMust be handled (try-catch)Optional (can be handled, but not required)
উদাহরণIOException, SQLExceptionNullPointerException, ArithmeticException
ইনহেরিটেন্সException ক্লাসের সাবক্লাসRuntimeException ক্লাসের সাবক্লাস

৪. Exception Handling এর জন্য টিপস

  • Checked Exceptions ব্যবহার করুন যখন আপনি জানেন যে একটি নির্দিষ্ট পরিস্থিতিতে exception ঘটতে পারে এবং আপনি এটি পরিচালনা করতে চান।
  • Unchecked Exceptions সাধারণত প্রোগ্রামের লজিক্যাল ত্রুটির জন্য ঘটে, সুতরাং এগুলির জন্য উপযুক্ত exception handling ব্যবহার করা গুরুত্বপূর্ণ।
  • Exception handling এর মাধ্যমে আপনি ব্যবহারকারীদের জন্য অর্থপূর্ণ বার্তা প্রদান করতে পারেন এবং প্রোগ্রামের স্থিতিশীলতা বজায় রাখতে পারেন।

উপসংহার

Checked এবং Unchecked Exceptions কটলিনে error handling-এর গুরুত্বপূর্ণ অংশ। আপনার কোডের স্থিতিশীলতা এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে এই exceptions সঠিকভাবে পরিচালনা করা আবশ্যক। checked exceptions কম্পাইলার দ্বারা চেক করা হয়, যেখানে unchecked exceptions রানটাইমে ঘটে এবং এদের জন্য exception handling কম্পাইলারের দ্বারা বাধ্যতামূলক নয়।

Content added By
Promotion

Are you sure to start over?

Loading...