نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الصنف Exception في روبي

تُستخدَم الكائنات السليلة من الصنف Exception للتواصل بين التّابع Kernel.raise وتصريحات rescue في الكتل (blocks) من الشكل begin...end. تَحمل كائنات الصنف Exception معلوماتٍ عن الاستثناء المَرمي مثل نوعه (اسم صنف الاستثناء)، وسلسلةً نصيّةً وصفيّةً اختياريّة، ومعلوماتِ تتبّعٍ اختيارية. قد تضيف الأصناف الفرعية من الصنف Exception معلوماتٍ إضافيّةٍ مثل NameError.name. قد تُنشِئ البرامج أصنافًا فرعيّةً (subclasses) من الصنف Exception، تكون عادةً StandardError أو RuntimeError، لتوفير أصنافٍ مخصصّةٍ وإضافة معلوماتٍ إضافية. ألقِ نظرةً على قائمة الأصناف الفرعية في الأسفل من أجل قيم ...

استبدال الاستثناءات بالاختبارات (Replace Exception with Test)

المشكلة إطلاق استثناء يمكن لاختبار بسيط أن يحل محله. الحل يستعاض عن الاستثناء باختبار الحالة. مثال قبل إعادة التصميم معالجة الاستثناء الحاصل عند وقوع الفهرس periodNumber خارج حدود مصفوفة القيم values وإعادة القيمة 0 آنذاك: في لغة Java: double getValueForPeriod(int periodNumber) { try { return values[periodNumber]; } catch (ArrayIndexOutOfBoundsException e) { return 0; } } في لغة C#‎: double GetValueForPeriod(int periodNumber) { try { return values[periodNumber]; ...

الاستثناءات (Exceptions) في لغة Kotlin

أصناف الاستثناءات (Exception Classes) تنحدر كلّ أصناف الاستثناءات في لغة Kotlin من الصنف Throwable حيث يوجد لكلِّ استثناءٍ رسالةٌ للإعلام به وتتبُّع تكديسي (stack trace) وسببٌ اختياريّ. ويُستخدَم التعبير throw لرمي كائن استثناءٍ بالشكل: throw MyException("Hi There!") أمّا تعبير try فهو مُستخدَمٌ لكشف الاستثناء كما في الشيفرة: try { // شيفرة } catch (e: SomeException) { // معالجات الاستثناء } finally { // قسم اختياريّ } ومن الممكن أن يحتوي الاستثناء أكثر من قسمٍ واحدٍ من catch أو ...

المعامل == في الصنف Exception في روبي

يتحقق المعامل == من تساوي كائني استثناء مع بعضهما بعضًا. البنية العامة exc == obj → true or false المعاملات exc كائن من النوع Exception يراد التحقق من تساويه مع الكائن obj. obj الكائن الآخر الذي سيُتحقَق من تساويه مع الكائن exc. القيم المعادة تُعاد القيمة false إذا كان الكائن obj ليس كائنًا من النوع Exception. عدا ذلك، تُعاد القيمة true إذا كان الكائنين exc و obj يتشاركان نفس الصّنف، والرسائل، والتَتبُّع العكسي (backtrace). انظر أيضًا التابع new: يُنشئ كائنًا ...

الاستثناءات في بايثون

قد تكون التعابير البرمجية في الشيفرة صحيحة من ناحية الصيغة، لكن قد يؤدي تنفيذ تلك الشيفرة إلى التسبب في حدوث الأخطاء. تسمّى الأخطاء المُكتشفة أثناء تنفيذ الشيفرة بالاستثناءات (exceptions) وقد تتسبب في إيقاف عمل البرنامج (fatal) في بعض الأحيان. صيغة الاستثناءات تُنشئ الاستثناءات رسائل خطإٍ مماثلة لما يلي: >>> 10 * (1/0) Traceback (most recent call last):   File "<stdin>", line 1, in <module> ZeroDivisionError: division by zero >>> 4 + spam*3 Traceback (most recent call last):   File "<stdin>", line 1, in <module> NameError: name 'spam' ...

استبدال شيفرات الأخطاء باستثناءات (Replace Error Code with Exception)

المشكلة يعيد التابع قيمة خاصة تشير إلى خطأ. الحل إطلاق استثناء بدلًا من ذلك. مثال قبل إعادة التصميم يعيد التابع ()withdraw القيمة 1- التي تمثِّل خطأً إن تحقق شرط محدَّد: في لغة Java: int withdraw(int amount) { if (amount > _balance) { return -1; } else { balance -= amount; return 0; } } في لغة C#‎: int Withdraw(int amount) { if (amount > _balance) { ...

الاستثناءات المعرفة من طرف المستخدم

يمكن للمستخدم إنشاء صنف استثناء جديد (راجع قسم الأصناف في بايثون للمزيد من المعلومات)، ويجب أن تكون الاستثناءات مشتقّة من الصنف Exception سواء أكان ذلك بصورة مباشرة أو غير مباشرة. يمكن تعريف أصناف الاستثناءات لتؤدي نفس العمل الذي يؤدّيه أيّ صنف آخر، ولكنّها تكون في العادة بسيطة، وتقدّم في أغلب الأحيان عددًا من الخاصيات التي تسمح لمعالجات الاستثناءات باستخراج المعلومات الخاصة بالخطأ. عند إنشاء وحدة لها القدرة على إطلاق استثناءات مختلفة، فمن الشائع إنشاء صنف أساس للاستثناءات يُعرّف بواسطة تلك ...

الاستثناءات المعرفة من طرف المستخدم

يمكن للمستخدم إنشاء صنف استثناء جديد (راجع قسم الأصناف في بايثون للمزيد من المعلومات)، ويجب أن تكون الاستثناءات مشتقّة من الصنف Exception سواء أكان ذلك بصورة مباشرة أو غير مباشرة. يمكن تعريف أصناف الاستثناءات لتؤدي نفس العمل الذي يؤدّيه أيّ صنف آخر، ولكنّها تكون في العادة بسيطة، وتقدّم في أغلب الأحيان عددًا من الخاصيات التي تسمح لمعالجات الاستثناءات باستخراج المعلومات الخاصة بالخطأ. عند إنشاء وحدة لها القدرة على إطلاق استثناءات مختلفة، فمن الشائع إنشاء صنف أساس للاستثناءات يُعرّف بواسطة تلك ...

تعريف أحداث التنظيف clean-up actions

تمتلك عبارة try جزءًا اختياريًا آخر، والهدف منه هو تعريف أحداث تنظيف (clean-up actions) يجب تنفيذها في جميع الظروف، فعلى سبيل المثال: >>> try: ...     raise KeyboardInterrupt ... finally: ...     print('Goodbye, world!') ... Goodbye, world! KeyboardInterrupt Traceback (most recent call last):   File "<stdin>", line 2, in <module> تُنفّذ عبارة finally دائمًا قبل الخروج من عبارة try، سواء أحدث الاستثناء أم لم يحدث. وعند حدوث استثناء في عبارة try ولم تجر معالجته بواسطة عبارة except (أو أنّه حدث في عبارة except أو else) فإنّه يعاد إطلاق ذلك ...

تعريف أحداث التنظيف clean-up actions

تمتلك عبارة try جزءًا اختياريًا آخر، والهدف منه هو تعريف أحداث تنظيف (clean-up actions) يجب تنفيذها في جميع الظروف، فعلى سبيل المثال: >>> try: ...     raise KeyboardInterrupt ... finally: ...     print('Goodbye, world!') ... Goodbye, world! KeyboardInterrupt Traceback (most recent call last):   File "<stdin>", line 2, in <module> تُنفّذ عبارة finally دائمًا قبل الخروج من عبارة try، سواء أحدث الاستثناء أم لم يحدث. وعند حدوث استثناء في عبارة try ولم تجر معالجته بواسطة عبارة except (أو أنّه حدث في عبارة except أو else) فإنّه يعاد إطلاق ذلك ...

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).