معالجة أخطاء التحويل
جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 86 من 94.
تقوم الطريقة tryParse بتحويل السلاسل النصية إلى أرقام بشكل آمن، حيث تعيد null بدلاً من طرح خطأ عند فشل عملية التحويل.
استخدم tryParse بدلاً من parse لتحويل أكثر أماناً:
String validNumber = "42";
int? result = int.tryParse(validNumber);
print(result);بعد تنفيذ الكود أعلاه، ستكون النتيجة:
42عندما تفشل عملية التحويل، تعيد tryParse قيمة null:
String invalidNumber = "hello";
int? result = int.tryParse(invalidNumber);
print(result);بعد تنفيذ الكود أعلاه، ستكون النتيجة:
nullالتحدي
مبتدئفي هذا التحدي، ستتدرب على استخدام tryParse لتحويل السلاسل النصية إلى أرقام بأمان. تُرجع طريقة tryParse القيمة null إذا فشل التحويل، بدلاً من رمي خطأ كما تفعل parse.
أكمل الكود لتحويل السلسلة النصية userInput إلى عدد صحيح باستخدام int.tryParse(). إذا كان التحويل ناجحاً، قم بتخزين النتيجة في userAge. إذا فشل التحويل (أرجع null)، استخدم العمر الافتراضي 0.
المخرجات المتوقعة للمدخلات الحالية:
Invalid age input. Using default age: 0ورقة مرجعية
تقوم الطريقة tryParse بتحويل السلاسل النصية إلى أرقام بشكل آمن، حيث تعيد null بدلاً من إلقاء خطأ عند فشل التحويل.
استخدم tryParse لتحويل السلسلة النصية إلى رقم بشكل آمن:
String validNumber = "42";
int? result = int.tryParse(validNumber);
print(result); // المخرج: 42عندما يفشل التحويل، تعيد tryParse القيمة null:
String invalidNumber = "hello";
int? result = int.tryParse(invalidNumber);
print(result); // المخرج: nullجرّب بنفسك
void main() {
// هذه السلسلة النصية معرفة مسبقاً لك
String userInput = 'twenty five';
// TODO: حاول تحويل userInput إلى عدد صحيح باستخدام int.tryParse()
// إذا نجحت العملية، قم بتخزين النتيجة في userAge
// إذا فشل التحويل (أرجع null)، استخدم العمر الافتراضي 0
int userAge = 0;
// عرض النتيجة
if (userInput == 'twenty five') {
print('Invalid age input. Using default age: $userAge');
} else {
print('Valid age input: $userAge');
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
معاملات المقارنةالمعامل المنطقي ANDالمعامل المنطقي ORالمعامل المنطقي NOTمعاملات فحص النوعملخص - إجراء المقارنات7التعامل مع النصوص (Strings)
دمج النصوص (String Concatenation)تضمين النصوص (String Interpolation)النصوص متعددة الأسطر (Multi-line Strings)خصائص النصوص (String Properties)دوال النصوص الأساسية (String Methods)10المجموعات - أساسيات الخرائط
ما هي الخرائط؟إنشاء خريطةالوصول إلى القيم عبر المفتاحأزواج المفتاح والقيمةالحصول على حجم الخريطةالحصول على المفاتيحالحصول على القيمالتحقق من وجود مفتاح2المتغيرات وأنواع البيانات الأساسية
ما هي المتغيرات؟النصوص (Strings)الأعداد الصحيحة (int)الأعداد العشرية (double)القيم المنطقية (bool)استنتاج النوع باستخدام 'var'المتغيرات النهائية (Final)المتغيرات الثابتة (Constant)قواعد التسميةأساسيات الـ Null Safetyملخص - التصريح عن المتغيرات8مسار التحكم - الحلقات التكرارية
حلقة 'for' التكراريةحلقة 'while' التكراريةحلقة 'do-while' التكراريةاستخدام 'break' في الحلقات التكراريةاستخدام 'continue' في الحلقات التكراريةملخص - تكرار الكود البرمجي11أساسيات الدوال
ما هي الدوال؟تعريف دالة بسيطةاستدعاء الدالةالدوال مع المعاملات (Parameters)الدوال التي تعيد قيمًاالكلمة المفتاحية 'void'صيغة السهم (Arrow Syntax)ملخص - الدوال البسيطة14تحويل الأنواع
تحويل String إلى intتحويل String إلى doubleتحويل الأرقام إلى Stringمعالجة أخطاء التحويل3المعاملات - الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمة (Modulo)الزيادة والنقصاناختصارات التعيينملخص - الحسابات البسيطة6تدفق التحكم - اتخاذ القرار
جملة 'if'جملة 'else'جملة 'else if'ملخص - القرارات البسيطةجمل 'if' المتداخلةجملة 'switch'9المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمة