Asynchronous Code এর জন্য Error Handling

Asynchronous Programming (অ্যাসিনক্রোনাস প্রোগ্রামিং) - ডার্ট প্রোগ্রামিং (Dart Programming) - Computer Programming

346

Asynchronous Code এর জন্য Error Handling

অ্যাসিনক্রোনাস কোডে ত্রুটি পরিচালনা (Error Handling) খুবই গুরুত্বপূর্ণ, কারণ অ্যাসিনক্রোনাস অপারেশনগুলি যখন সম্পন্ন হয় তখন ত্রুটিগুলি ঘটতে পারে। Dart-এ অ্যাসিনক্রোনাস কোডের জন্য ত্রুটি পরিচালনার কৌশলগুলি সঠিকভাবে ব্যবহার করা প্রয়োজন যাতে অ্যাপ্লিকেশনটি নিরাপদ এবং কার্যকর থাকে। আসুন আমরা Dart-এ অ্যাসিনক্রোনাস কোডের জন্য ত্রুটি পরিচালনার বিভিন্ন পদ্ধতি দেখি।

১. Future ত্রুটি পরিচালনা

যখন একটি Future ত্রুটি ঘটায়, তখন এটি একটি Exception তুলে ধরে। আপনি try-catch ব্লক ব্যবহার করে এই ত্রুটিগুলি ধরতে পারেন।

উদাহরণ:

Future<String> fetchData() async {
  await Future.delayed(Duration(seconds: 2));
  throw Exception("Failed to fetch data!"); // জাল ত্রুটি
}

Future<void> main() async {
  try {
    String data = await fetchData(); // Awaiting the future
    print(data);
  } catch (e) {
    print("Error: $e"); // Output: Error: Exception: Failed to fetch data!
  }
}

২. Stream ত্রুটি পরিচালনা

Streams এ ত্রুটিগুলি onError প্যারামিটার ব্যবহার করে বা try-catch ব্লকের মাধ্যমে পরিচালনা করা যায়।

উদাহরণ:

Stream<int> numberStream() async* {
  yield 1;
  yield 2;
  throw Exception("Error in stream!"); // জাল ত্রুটি
  yield 3;
}

Future<void> main() async {
  // Stream এর মাধ্যমে মান গ্রহণ করা
  await for (int number in numberStream().handleError((e) {
    print("Stream Error: $e"); // Output: Stream Error: Exception: Error in stream!
  })) {
    print(number);
  }
}

৩. Future.catchError

আপনি Future.catchError ব্যবহার করে ত্রুটিগুলি পরিচালনা করতে পারেন, যা আপনার কোডকে আরও পরিষ্কার এবং পাঠযোগ্য করে তোলে।

উদাহরণ:

Future<String> fetchData() async {
  await Future.delayed(Duration(seconds: 2));
  throw Exception("Failed to fetch data!");
}

Future<void> main() async {
  fetchData().then((data) {
    print(data);
  }).catchError((e) {
    print("Error: $e"); // Output: Error: Exception: Failed to fetch data!
  });
}

৪. Custom Error Handling

আপনি কাস্টম ত্রুটি ক্লাস তৈরি করে এবং সেগুলি ব্যবহার করে আরও বিস্তারিত ত্রুটি পরিচালনা করতে পারেন।

উদাহরণ:

class FetchDataException implements Exception {
  final String message;
  FetchDataException(this.message);

  @override
  String toString() => "FetchDataException: $message";
}

Future<String> fetchData() async {
  await Future.delayed(Duration(seconds: 2));
  throw FetchDataException("Failed to fetch data!"); // জাল কাস্টম ত্রুটি
}

Future<void> main() async {
  try {
    String data = await fetchData();
    print(data);
  } catch (e) {
    print(e); // Output: FetchDataException: Failed to fetch data!
  }
}

উপসংহার

অ্যাসিনক্রোনাস কোডে ত্রুটি পরিচালনা করা অত্যন্ত গুরুত্বপূর্ণ। Dart-এ Future, Stream, এবং try-catch ব্লক ব্যবহার করে আপনি সহজেই ত্রুটিগুলি পরিচালনা করতে পারেন। আপনার অ্যাপ্লিকেশনটি সুরক্ষিত ও কার্যকর রাখতে এবং ব্যবহারকারীর জন্য একটি উন্নত অভিজ্ঞতা নিশ্চিত করতে সঠিক ত্রুটি পরিচালনার কৌশলগুলো ব্যবহার করা জরুরি।

Content added By
Promotion

Are you sure to start over?

Loading...