Can any body expalin raise to me?? but please use a simple english words because I cannot speak english well....and thank you | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

Can any body expalin raise to me?? but please use a simple english words because I cannot speak english well....and thank you

20th May 2018, 8:22 PM
Omar
Omar - avatar
28 Answers
+ 12
In Python the 'raise' statement causes an exception and can display an error message. So here 'raise' means 'cause', as in 'make happen'. Lots of info on the subject here. https://www.tutorialspoint.com/python/python_exceptions.htm
20th May 2018, 9:49 PM
David Ashton
David Ashton - avatar
+ 3
As David said, raise is used to make exceptions, either standard exceptions or user made. Here's a simple example: https://code.sololearn.com/czdEVR5oXJGM/?ref=app ---------
21st May 2018, 1:19 AM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 2
صممت لك الان كود فيه كل اللي كلمتك عليه_انسخه او اكتبه في كمبيوترك وشغله وشوف كيف يعمل *ما يشتغل هنا لانه ال IDE تبعهم مو إنتراكتف لو في عندك اي سؤال ولا إي شي مو فاهمه في بايثون_انا تحت امرك Run this code on your computer and see how raise, try, except works and learn how to make your own exceptions. https://code.sololearn.com/cwDcWgvutA9w/?ref=app
21st May 2018, 10:07 PM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 1
اخي اسامه اذا انت عربي اتمني تشرحلي بالعربي لأني اعاني صراحه عندما ادرس بالانجليزيه Osamah Mohammed Al-Haddad
21st May 2018, 4:55 PM
Omar
Omar - avatar
+ 1
يا اخي العزيز عمر، نستخدم ريز عشان نخلي البرنامج يطلع إنذار خطاء بايثون عندها مكتبة أخطاء كأخطاء السينتاكس او اخطاء إملائية وعندما نستخدم ريز_نحن نجعل الخطاء يظهر حتى وإن لم يكن هناك داع له او عندما نكون خطاء بانفسنا ونجعله يظهر إنظر إلى المثال الذي ادرجته في تعليقي الاول_فقد كان كل شي صحيح. لكن عندما ادرجت الكلمة ريز مع إسم الخطأ الذي اردت إظهاره فإنه يظهر
21st May 2018, 6:00 PM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 1
في بايثون عندما يكون هناك خطأ برمجي او خطأ قيمة، خطأ إستدعاء، خطاء قيمة، فإن بايثون يظهره في وقت تشغيل البرنامج لكن عند إستخدام "try" فإن الاخطاء لا تظهر، لكن مع raise فإن الاخطاء تظهر رغم ذلك
21st May 2018, 6:05 PM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 1
تمام لكن ماذا سأستفيد عندما اقوم بجعل البرنامج يقوم بعمل error بدون سبب؟!
21st May 2018, 7:12 PM
Omar
Omar - avatar
+ 1
لانه في بعض البرامج_البرامج الاحترافية_ندخل جزء منه تحت try عشان نتلافى إيقاف البرنامج بسبب الاخطاء_لكن في حالة إننا نريد ان نظهر خطاء وإمساكه بواسطة except فإننا نستخدم raise لاظهار خطأ محدد. في البرامج الاحترافية_نقوم بصناعة خطاء غير مدرج في بايثون عشان نحدد مثلا إدخال من المستخدم بحالة خاصة فعلى سبيل المثال، نريد المستخدم ان يدخل حروف فقط وبدون اي رموز_فنقوم بصناعة class ونحدد فيها هذا الخطاء ونقوم بإظهاره بإستخدام raise
21st May 2018, 9:50 PM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 1
حسنا اخي شكرا لك😀
21st May 2018, 10:02 PM
Omar
Omar - avatar
+ 1
تمام اخي شكرا لك لكن استئذنك هل ممكن اسئلك عن موضوع اخر؟؟
21st May 2018, 10:33 PM
Omar
Omar - avatar
+ 1
ابشر اخي عمر_باي وقت
21st May 2018, 10:34 PM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 1
تسلم اخي بالنسبه لsuper الخاصه بالميثودز انا لا افهم ما فائدتها؟
21st May 2018, 10:53 PM
Omar
Omar - avatar
+ 1
السوبر تستعمل عشان تستدعي ميثود من الكلاس الام او السوبر كلاس في برمجة ال oop في حاجة إسمها الوراثة inheritance_يعني تورث ميثود لكلاس من كلاس اخر في الوراثة معانا ال سوبر كلاس superclass وال سب كلاس subclass_المورث والوارث فنستعمل سوبر في داخل السب كلاس عشان نستدعي ميثود(فنكشن) من داخل السوبر كلاس
21st May 2018, 11:03 PM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 1
شوف كيف ال super استدعى وعدل على الميثود حق الكلاس الام في هذا الكود اللي سويته لك الان https://code.sololearn.com/ctjL42Lp3h7D/?ref=app
21st May 2018, 11:22 PM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 1
انا كده ولا كده لما اكون عامل وراثه للكلاس الاب فالكلاس الابن بياخذ كل الميثودز اللي في الكلاس الاب لكن لو انا عاوز اضيف شئ معين لميثود معينه بكتب اسمها في الكلاس الابن واروح كاتب بداخل الميثود super().method_name() #هذا الطريقه في بايثون 3 لكنك استخدمت طريقه البايثون2 بكده اكون جعلت الميثود في وضع تهيئه ....يعني اقدر اضيف الاكواد اللي انا اريدها علي الميثود الرئيسيه اللي كانت موجوده في الكلاس الاب وعملتلها وراثه (لكن بالطبع ستظل الميثوظ الرئيسيه بدون تغيير) كلامي صحيح ؟؟
22nd May 2018, 12:03 AM
Omar
Omar - avatar
+ 1
صحيح! في البايثن 3 تسوي سوبر وإسم المثد بس وبيني وبينك الوراثة مسألة شائكة واحسن تتجنبها
22nd May 2018, 12:12 AM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 1
اتجنبها كيف؟
22nd May 2018, 9:58 AM
Omar
Omar - avatar
+ 1
هناك طريقة اخرى غير الوراثة وهي التركيب او composition طريقة سهلة وواضحة وليس فيها اي تعقيد
22nd May 2018, 10:37 AM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar
+ 1
طبب لكن الاستاذ شرح لي السوبر ولم يشرح لي الcomposition فهل ابحث عنها ام اتركها الان ؟
22nd May 2018, 3:54 PM
Omar
Omar - avatar
+ 1
في برمجة ال oop مثل ما هناك الوراثة هناك القسم الثاني اللي هو التكوين التكوين هو بديل او بشكل اصح الوجه الآخر والاسهل للوراثة يستحسن لو تقرأ عليها بشكل موسع
22nd May 2018, 6:16 PM
Osamah Mohammed Al-Haddad
Osamah Mohammed Al-Haddad - avatar