لنجرب مثالًا مختلفًا هنا.
لنفترض أنني أقوم بإنشاء دالة مجموع بسيطة.
نعم ، أعلم أنها موجودة بالفعل في بايثون ، لكننا سننشئها فقط.
واحد بسيط يأخذ العدد واحد والعدد اثنان.
وسنعيد هنا العدد واحد زائد عدد اثنين.
الآن ، إذا أردنا أن نفعل شيئًا ما.
والبعض أيضًا.
وقمت بتشغيل برنامجنا.
حسنًا ، دعنا نطبعها أولاً.
أنا انقر فوق تشغيل.
أحصل على واحد واثنين لأنه يجمع السلسلتين معًا.
لذلك دعونا نفعل هذا فقط ونضغط على تشغيل.
أحصل على خطأ في النوع يجب أن يكون سلسلة وليس int.
بناءً على ما تعلمناه ، كيف نتعامل مع هذا؟
حسنًا ، يمكننا إضافة كتلة ثلاثية هنا ونلف هذه الوظيفة.
أو يمكننا بناءه مباشرة في وظيفتنا.
لذلك أستطيع أن أقول حاول.
هذا الجزء.
وهنا بند خروج.
هذا يقول ربما إذا حصلنا على أي نوع من الخطأ.
سنطبع.
هناك شئ غير صحيح.
إذا قمت بتشغيل هذا.
فهمت شيئا خاطئا.
لكن ها هي المشكلة.
بمجرد القيام بقبول دون استثناء.
بصفتي مبرمجًا ، فأنا أقرأ هذا ولا أعرف حقًا ما الخطأ الذي حدث بالفعل لأنه قد يكون هناك أشياء
كثيرة.
لذا من الممارسات الجيدة دائمًا اكتشاف هذه الأخطاء بناءً على استثناء محدد.
بهذه الطريقة تعرف ما هو الخطأ ويمكنك أن تكون أكثر وصفيًا.
لذلك يمكننا هنا أن نقول خطأ في الكتابة وهذا النوع من الخطأ يمكننا فقط أن نقول ، الرجاء إدخال الأرقام.
حتى إذا قمت بتشغيل هذا مرة أخرى ، يرجى إدخال الأرقام.
و الآن.
حسنا.
خطأي هو أكثر وصفي.
يجب أن أصلح هذا وأتأكد من إدخال الأرقام.
رائع.
الآن النمط الشائع عند معالجة الأخطاء هو القيام بشيء مثل هذا النوع من الخطأ ثم القيام بشيء مثل
المتغير.
لذا ، أيًا كان المتغير الذي نريده في حالتنا ، دعنا نقول خطأ فقط.
لذلك أنا أقول ، إذا لاحظت خطأ في الكتابة ، فلنستخدم الخطأ في رسالة الخطأ الخاصة بنا حتى أستطيع أن أقول هنا.
بالإضافة إلى الهواء.
لذلك إذا ركضت ودعنا نرسم سلسلة هنا ، إذا ركضت.
انظر إلى ذلك.
أحصل على الخطأ طبع.
اسمحوا لي فقط بفتح هذا قليلا حتى تتمكن من رؤية واضحة.
انظر إلى ذلك.
إنه يمنحني في الواقع الهواء الذي أريده.
حتى أتمكن من رؤية ذلك على الإنترنت.
خمسة.
في هذا السطر ، أحصل على خطأ نوع عامل تشغيل غير مدعوم وأحصل على خطأ وصفي لما يحدث ، لذلك ربما يمكنني
استخدامه في رسالة الإخراج الخاصة بي.
ولكن ماذا لو لم أرغب في استخدام هذا وقمت بالركض؟
حسنا.
كل شيء يعمل مرة أخرى.
إذا فعلت.
زائد.
هنا وأنا انقر فوق تشغيل.
وهذا في الواقع معقد ، لكنه مذكور هنا أثناء معالجة الاستثناء أعلاه ، وهو ما أفعله.
حدث استثناء آخر.
يا ولد.
أحاول التعامل مع شيء ما وكان لدي خطأ داخل هذا الخطأ.
لذلك هذا صعب في بعض الأحيان.
لكن ما يعنيه هو أن ما نخرجه هنا هو في الواقع كائن خطأ.
إنه استثناء مبني في بايثون.
لا يمكنك أن تضيف هنا بالطريقة التي لدي.
بدلاً من ذلك ، نريد استخدام سلسلة F.
لذلك أفعل f ثم هنا مررها الخطأ.
لذلك هذا الآن.
إذا قمت بتشغيل هذا.
ثانية.
الرجاء إدخال الرقم.
نوع المعامل غير المدعوم s four plus int و str.
لذلك أتاح لي هذا الخطأ بالفعل.
الآن ، إذا كنت سأطبع هذا الخطأ فقط ، فلنرى كيف يبدو.
إذا قمت بالنقر فوق تشغيل.
كما ترى ، هذا هو جزء الهواء الذي نحصل عليه.
لذلك فهو مفيد جدًا جدًا إذا كنت تريد تقديم أخطاء ذات مغزى لمستخدميك.
شيء آخر مثير للاهتمام يمكنك القيام به هو شيء مثل هذا حيث تقوم بلف هذه الأخطاء معًا.
لنفترض أن لدينا صفر خطأ في القسمة أيضًا.
وهنا نقول عفوًا.
إذا قسمنا ، على سبيل المثال ، الرقم واحد على العدد اثنين ، فلنقم بتشغيل هذا أولاً.
لقد حصلت على عفوًا ، إذا قمت بقسمة واحدة على صفر وقمت بتشغيل هذا.
أحصل أيضًا على الأطواق حتى أتمكن من التعامل مع أخطاء متعددة بنفس الطريقة.
يمكنني أيضًا أن أقول هنا على هيئة هواء وأطبع الهواء بالفعل وإذا قمت بتشغيل هذا.
سأحصل على القسمة على صفر أو إذا صنعت سلسلة.
وتشغيل هذا.
أحصل على نوع الخطأ الآخر.
لذا فإن هذا مرة أخرى مفيد حقًا للجمع بين الأخطاء المختلفة إذا كنت تريد التعامل معها بنفس الطريقة.
لكن ماذا لو أردنا فعلاً أن نرفع أخطائنا؟
أي أننا نريد أن نلقي بأخطائنا الخاصة ربما داخل كتلة القبول هذه.
أريد فعلاً عرض الخطأ لأنواع معينة من الأخطاء.
كيف يمكننا فعل ذلك؟
دعنا نكتشف في الفيديو التالي.