سي بلس بلس: الدرس التاسع

التعامل مع الأخطاء والاستثناءات:

في C++، يمكننا التعامل مع الأخطاء والاستثناءات باستخدام التعبيرات الشرطية المتقاطعة try-catch، حيث يتم وضع الشيفرة المشتبه بها داخل كتلة try، ثم التعامل مع الاستثناءات المحتملة داخل كتلة catch. يُمكن استخدام هذه التقنية للتعامل مع الأخطاء المحتملة بشكل متقن وتجنب توقف البرنامج. على سبيل المثال:

cppCopy codetry {
    // الشيفرة المشتبه بها
    int x = 10;
    int y = 0;
    if (y == 0) {
        throw "Division by zero";
    }
    int result = x / y;
} catch (const char* msg) {
    // التعامل مع الاستثناءات المحتملة
    cout << "Error: " << msg << endl;
}

التعامل مع الوقت والتاريخ:

يمكن استخدام مكتبة chrono في C++ للتعامل مع الوقت والتاريخ. تتيح هذه المكتبة وسيلة قوية لقياس وإدارة الوقت والتاريخ في البرامج، بما في ذلك حساب مدة التنفيذ وتنسيق التواريخ والساعات. على سبيل المثال:

cppCopy code#include <iostream>
#include <chrono>

using namespace std;
using namespace chrono;

int main() {
    auto start = high_resolution_clock::now(); // الوقت قبل بدء الشيفرة المشتبه بها

    // الشيفرة المشتبه بها
    for (int i = 0; i < 1000000; ++i) {
        // Some code to execute
    }

    auto stop = high_resolution_clock::now(); // الوقت بعد انتهاء الشيفرة المشتبه بها
    auto duration = duration_cast<microseconds>(stop - start); // مدة التنفيذ بالميكروثانية

    cout << "Time taken by code: " << duration.count() << " microseconds" << endl;
    return 0;
}

التعامل مع السلاسل النصية:

توفر C++ العديد من الوظائف للتعامل مع السلاسل النصية، مثل البحث عن النصوص، واستبدال النصوص، وتقسيم النصوص إلى جزئين، وتحويل النصوص إلى أنواع بيانات أخرى والعكس. يمكن استخدام هذه الوظائف لتنفيذ مهام مثل معالجة البيانات النصية وتنسيق الإدخال والإخراج بشكل أكثر فعالية. على سبيل المثال:

cppCopy code#include <iostream>
#include <string>

using namespace std;

int main() {
    string sentence = "Hello, world! This is a test.";

    // البحث عن الكلمة "world" في الجملة
    size_t found = sentence.find("world");
    if (found != string::npos) {
        cout << "Word found at position " << found << endl;
    } else {
        cout << "Word not found" << endl;
    }

    // استبدال الكلمة "test" بـ "example"
    size_t replacePos = sentence.find("test");
    if (replacePos != string::npos) {
        sentence.replace(replacePos, 4, "example");
        cout << "New sentence: " << sentence << endl;
    }

    return 0;
}

الختام:

في هذا الدرس، قمنا بتوسيع فهمنا للمفاهيم الأساسية في C++، بما في ذلك التعامل مع الأخطاء والاستثناءات، والوقت والتاريخ، والسلاسل النصية. يمكنك الآن استخدام هذه المفاهيم بشكل فعّال لتطوير برامجك بشكل أكثر تعقيدًا وفعالية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *