خوب همون قدر که خطا دادن به کاربر میتونه مفید باشه، جلوگیری از خیلی خطا ها هم میتونه مفید باشه،
این کار در پایتون توسط دو کلمه ی کلیدی try و except انجام میشه،
به این صورت که شما بعد از نوشتن کلمه ی try و گذاشتن دو نقطه جلوش به خط بعد میری و با رعایت تو رفتگی نسبت به try دستورات خودتون رو مینویسید، در پایاین دستورات خودتون به خط بعد میرید و به اندازه تو رفتگی try به عقب برمیگردید و دستور except رو مینویسید به همراه دو نقطه و به خط بعد میرید و با رعایت تورفتگی نسبت به except دستوراتی رو مینویسید که میخواید در صورت بروز خطا اجرا بشن.
در این صورت ابتدا مفسر تلاش میکنه دستورات بدنه ی try رو اجرا کنه، اگر هیچ خطایی رخ نداد، از بدنه ی except صرف نظر میکنه ولی اگر در حین اجرای بدنه ی try خطایی رخ داد، اون خطا به کاربر نشون داده نمیشه و در عوض بدنه ی except اجرا میشه.
برای مثال تابعی که من در زیر مینویسم تلاش میکنه تابعی رو که به عنوان آرگومان بهش میدم رو اجرا کنه و اگر خطایی رخ داد، خطا رو نادیده میگیره و متنی رو که به عنوان آرگومان بهش میدم رو بهمون نشون میده:
👇👇👇👇👇
این کار در پایتون توسط دو کلمه ی کلیدی try و except انجام میشه،
به این صورت که شما بعد از نوشتن کلمه ی try و گذاشتن دو نقطه جلوش به خط بعد میری و با رعایت تو رفتگی نسبت به try دستورات خودتون رو مینویسید، در پایاین دستورات خودتون به خط بعد میرید و به اندازه تو رفتگی try به عقب برمیگردید و دستور except رو مینویسید به همراه دو نقطه و به خط بعد میرید و با رعایت تورفتگی نسبت به except دستوراتی رو مینویسید که میخواید در صورت بروز خطا اجرا بشن.
در این صورت ابتدا مفسر تلاش میکنه دستورات بدنه ی try رو اجرا کنه، اگر هیچ خطایی رخ نداد، از بدنه ی except صرف نظر میکنه ولی اگر در حین اجرای بدنه ی try خطایی رخ داد، اون خطا به کاربر نشون داده نمیشه و در عوض بدنه ی except اجرا میشه.
برای مثال تابعی که من در زیر مینویسم تلاش میکنه تابعی رو که به عنوان آرگومان بهش میدم رو اجرا کنه و اگر خطایی رخ داد، خطا رو نادیده میگیره و متنی رو که به عنوان آرگومان بهش میدم رو بهمون نشون میده:
👇👇👇👇👇
باید کاملا حواستون به این مطلب باشه که فقط از خطاهایی صرف نظر میشه که در بدنه ی try ممکنه بوجود بیان و اگر در بدنه ی except شما خطایی بوجود بیاد (اگر اون رو هم با try و except مستتر نکرده باشید) قطعا خطا به کاربر نشون داده میشه.
و این که حتما try و except رو از نظر تو رفتگی درست بنویسید.
و این که حتما try و except رو از نظر تو رفتگی درست بنویسید.
خوب،
الان میتونم اشک شوق رو تو چشم خیلی ها ببینم، ممکنه حس کنید که دیگه کلا از شر خطاها خلاص شدین، چون حالا دیگه بلدید کل برنامتون رو در بدنه ی try بنویسید،و تهش هم یه except بذارید! البته اونایی که هوششون بیشتره مرتب تر مینویسن و همرو در یه تابع میدن به یه تابع دیگه که توش try و except کار گذاشتن اجرا کنه !
خوب به مثال زیر توجه کنید:
👇👇👇👇👇
الان میتونم اشک شوق رو تو چشم خیلی ها ببینم، ممکنه حس کنید که دیگه کلا از شر خطاها خلاص شدین، چون حالا دیگه بلدید کل برنامتون رو در بدنه ی try بنویسید،و تهش هم یه except بذارید! البته اونایی که هوششون بیشتره مرتب تر مینویسن و همرو در یه تابع میدن به یه تابع دیگه که توش try و except کار گذاشتن اجرا کنه !
خوب به مثال زیر توجه کنید:
👇👇👇👇👇
واقعا فایل موجود نیست؟
اگر به برنامه با دقت نگاه کنید میبینید که من Open رو نوشتم Apen !
در واقع خطای ما اینجا از نوع خطای NameError هستش چون تابعی به نام apen نداریم و ربطی به موجودیت فایل نداره، اما بعد از اجرا خودمون رو با برنامه خودمون گول میزنیم !
این روش try و except که الان آموزش دادم یک روش کاملا آماتوری بود و اگر بخواید تو این سطح ازش استفاده کنید بهتون قول 100% میدم که همیشه تو برنامه هاتون دنبال این موارد اشتباهاتی که یه نمونشو مثال زدم میگردید !
پایتون باهوش امکان این رو فراهم کرده که بتونید بعد از یک try چندین except بنویسید،
همچنین میتونید بعد از except با رعایت یک فاصله، اسم خطا رو بنویسید و بعد دو نقطه بذارید و بدنه ی هر نوع خطا رو جداگانه بنویسید،
اگر کلاس open فایلی رو که اسمش رو بهش دادیم پیدا نکنه برای خواندن، خطای FileNotFoundError میده:
👇👇👇👇👇
اگر به برنامه با دقت نگاه کنید میبینید که من Open رو نوشتم Apen !
در واقع خطای ما اینجا از نوع خطای NameError هستش چون تابعی به نام apen نداریم و ربطی به موجودیت فایل نداره، اما بعد از اجرا خودمون رو با برنامه خودمون گول میزنیم !
این روش try و except که الان آموزش دادم یک روش کاملا آماتوری بود و اگر بخواید تو این سطح ازش استفاده کنید بهتون قول 100% میدم که همیشه تو برنامه هاتون دنبال این موارد اشتباهاتی که یه نمونشو مثال زدم میگردید !
پایتون باهوش امکان این رو فراهم کرده که بتونید بعد از یک try چندین except بنویسید،
همچنین میتونید بعد از except با رعایت یک فاصله، اسم خطا رو بنویسید و بعد دو نقطه بذارید و بدنه ی هر نوع خطا رو جداگانه بنویسید،
اگر کلاس open فایلی رو که اسمش رو بهش دادیم پیدا نکنه برای خواندن، خطای FileNotFoundError میده:
👇👇👇👇👇
همونطور که دیدید، در قسمت دوم که برنامه رو تصحیح کردم و اجرا کردم، با خطای FileNotFoundError مواجه شدیم و بدنه ی except اجرا شد !
خوب، هنوز 3 قسمت دیگه از خطاها مونده،
قسمت اولش اینه که میتونیم یه قسمت به نام finally هم زیر try و except اضافه کنیم،
قسمت دوم اینه که try و except میتونه else هم داشته باشه و
قسمت سوم این که چطور خطاها یی بسازیم با اسم هایی که خودمون میخوایم، مثلا PouriyaError ؟
اینا رو در جلسات بعدی میگم.
قسمت اولش اینه که میتونیم یه قسمت به نام finally هم زیر try و except اضافه کنیم،
قسمت دوم اینه که try و except میتونه else هم داشته باشه و
قسمت سوم این که چطور خطاها یی بسازیم با اسم هایی که خودمون میخوایم، مثلا PouriyaError ؟
اینا رو در جلسات بعدی میگم.
👍1
در جلسه ی بعد ما قراره با کتابخانه sqlite3 از پایتون کار کنیم،
شما موظف هستین برید اول تحقیق کنید که SQLite چیه، بعدش چند تا دستور ساده SQL مثل:
ساختن جدول
ورود اطلاعات
خروج اطلاعات
...
رو یاد بگیرید، چون من اینارو اینجا توضیح نمیدم ، در جلسه ی بعد که کار با sqlite رو یاد گرفتیم،
بعدش باید یه تمرین بهتون میدم،
جزئیات تمرین رو همون جلسه ی بعد بهتون میدم،
ولی نتیجش اینه که بعد از اجرای سرور دیکشنری خودتون، مرورگر اینترنتتون رو باز کنید و داخل پایگاه داده کلماتتون کلمه وارد یا خارج یا جستجو کنید !
با استفاده از
sqlite3
socket (که جلسه بعد توضیح میدم)
یه دانش خیلی کم از HTML.
شما موظف هستین برید اول تحقیق کنید که SQLite چیه، بعدش چند تا دستور ساده SQL مثل:
ساختن جدول
ورود اطلاعات
خروج اطلاعات
...
رو یاد بگیرید، چون من اینارو اینجا توضیح نمیدم ، در جلسه ی بعد که کار با sqlite رو یاد گرفتیم،
بعدش باید یه تمرین بهتون میدم،
جزئیات تمرین رو همون جلسه ی بعد بهتون میدم،
ولی نتیجش اینه که بعد از اجرای سرور دیکشنری خودتون، مرورگر اینترنتتون رو باز کنید و داخل پایگاه داده کلماتتون کلمه وارد یا خارج یا جستجو کنید !
با استفاده از
sqlite3
socket (که جلسه بعد توضیح میدم)
یه دانش خیلی کم از HTML.
📖 فهرست دسترسی به جلسات آموزش زبان پایتون
💥 جلسه اول : معرفی زبان پایتون
https://telegram.me/stepbysteplearn/444
💥 جلسه دوم : نصب و راه اندازي
https://telegram.me/stepbysteplearn/458
💥 جلسه سوم : ساختارهای داده ای
https://telegram.me/stepbysteplearn/486
💥 جلسه چهارم : خطاها و معرفي رشته ها
https://telegram.me/stepbysteplearn/503
💥 جلسه پنجم : دستورات شرطی
https://telegram.me/stepbysteplearn/626
💥 جلسه ششم : ادامه ي رشته ها
https://telegram.me/stepbysteplearn/651
💥 جلسه هفتم : معرفي حلقه
https://telegram.me/stepbysteplearn/716
💥 جلسه هشتم : ادامه ي حلقه ها
https://telegram.me/stepbysteplearn/826
💥 جلسه نهم : پايان حلقه ها
https://telegram.me/stepbysteplearn/851
💥 جلسه دهم : کلاس های توکار و معرفی لیست ها
https://telegram.me/stepbysteplearn/898
💥 جلسه یازدهم : تفاوت مهم لیست و رشته و تعریف متد ها
https://telegram.me/stepbysteplearn/931
💥 جلسه دوازدهم : تعریف کتابخانه و تابع
https://telegram.me/stepbysteplearn/950
💥 جلسه سیزدهم : توابع (2)
https://telegram.me/stepbysteplearn/987
💥 جلسه چهاردهم : توابع (3)
https://telegram.me/stepbysteplearn/1023
💥 جلسه پانزدهم : توابع بازگشتی
https://telegram.me/stepbysteplearn/1115
💥 جلسه شانزدهم : معرفی کلاس
https://telegram.me/stepbysteplearn/1155
💥 جلسه هفتدهم : کلاس ها (2)
https://telegram.me/stepbysteplearn/1201
💥 جلسه هجدهم : کلاس ها (3)
https://telegram.me/stepbysteplearn/1239
💥 جلسه نوزدهم : چندتایی ها و دیکشنری ها
https://telegram.me/stepbysteplearn/1266
💥 جلسه بیستم : کتابخانه
https://telegram.me/stepbysteplearn/1285
💥 جلسه بیست یکم : حلقه for
https://telegram.me/stepbysteplearn/1342
💥 جلسه بیست و دوم : شروع با sqLite
https://telegram.me/stepbysteplearn/1357
💥 جلسه اول : معرفی زبان پایتون
https://telegram.me/stepbysteplearn/444
💥 جلسه دوم : نصب و راه اندازي
https://telegram.me/stepbysteplearn/458
💥 جلسه سوم : ساختارهای داده ای
https://telegram.me/stepbysteplearn/486
💥 جلسه چهارم : خطاها و معرفي رشته ها
https://telegram.me/stepbysteplearn/503
💥 جلسه پنجم : دستورات شرطی
https://telegram.me/stepbysteplearn/626
💥 جلسه ششم : ادامه ي رشته ها
https://telegram.me/stepbysteplearn/651
💥 جلسه هفتم : معرفي حلقه
https://telegram.me/stepbysteplearn/716
💥 جلسه هشتم : ادامه ي حلقه ها
https://telegram.me/stepbysteplearn/826
💥 جلسه نهم : پايان حلقه ها
https://telegram.me/stepbysteplearn/851
💥 جلسه دهم : کلاس های توکار و معرفی لیست ها
https://telegram.me/stepbysteplearn/898
💥 جلسه یازدهم : تفاوت مهم لیست و رشته و تعریف متد ها
https://telegram.me/stepbysteplearn/931
💥 جلسه دوازدهم : تعریف کتابخانه و تابع
https://telegram.me/stepbysteplearn/950
💥 جلسه سیزدهم : توابع (2)
https://telegram.me/stepbysteplearn/987
💥 جلسه چهاردهم : توابع (3)
https://telegram.me/stepbysteplearn/1023
💥 جلسه پانزدهم : توابع بازگشتی
https://telegram.me/stepbysteplearn/1115
💥 جلسه شانزدهم : معرفی کلاس
https://telegram.me/stepbysteplearn/1155
💥 جلسه هفتدهم : کلاس ها (2)
https://telegram.me/stepbysteplearn/1201
💥 جلسه هجدهم : کلاس ها (3)
https://telegram.me/stepbysteplearn/1239
💥 جلسه نوزدهم : چندتایی ها و دیکشنری ها
https://telegram.me/stepbysteplearn/1266
💥 جلسه بیستم : کتابخانه
https://telegram.me/stepbysteplearn/1285
💥 جلسه بیست یکم : حلقه for
https://telegram.me/stepbysteplearn/1342
💥 جلسه بیست و دوم : شروع با sqLite
https://telegram.me/stepbysteplearn/1357
Telegram
Programming?
#python
📖 فهرست دسترسی به جلسات آموزش زبان جاوا
💥جلسه اول : نصب پیش نیازها
https://telegram.me/stepbysteplearn/538
💥جلسه دوم : شروع آموزش در محیط اکلیپس
https://telegram.me/stepbysteplearn/575
💥جلسه سوم : انواع داده ای در جاوا
https://telegram.me/stepbysteplearn/604
💥جلسه چهارم : تعریف متغیرها
https://telegram.me/stepbysteplearn/676
💥جلسه پنجم : شرط ها و حلقه ها
https://telegram.me/stepbysteplearn/738
💥جلسه ششم : آٰرایه ها
https://telegram.me/stepbysteplearn/782
💥جلسه هفتم : متدها
https://telegram.me/stepbysteplearn/867
💥جلسه هشتم : مفهوم شی گرایی
https://telegram.me/stepbysteplearn/963
💥جلسه نهم : کلاس ها و ارث بری
https://telegram.me/stepbysteplearn/1068
💥 جلسه دهم : اوراید کردن و چند ریختی
https://telegram.me/stepbysteplearn/1092
💥جلسه یازدهم : کلاس های ابسترک و رابط ها
https://telegram.me/stepbysteplearn/1137
💥جلسه دوازدهم (آخر) : کتابخونه ها
https://telegram.me/stepbysteplearn/1181
💥جلسه اول : نصب پیش نیازها
https://telegram.me/stepbysteplearn/538
💥جلسه دوم : شروع آموزش در محیط اکلیپس
https://telegram.me/stepbysteplearn/575
💥جلسه سوم : انواع داده ای در جاوا
https://telegram.me/stepbysteplearn/604
💥جلسه چهارم : تعریف متغیرها
https://telegram.me/stepbysteplearn/676
💥جلسه پنجم : شرط ها و حلقه ها
https://telegram.me/stepbysteplearn/738
💥جلسه ششم : آٰرایه ها
https://telegram.me/stepbysteplearn/782
💥جلسه هفتم : متدها
https://telegram.me/stepbysteplearn/867
💥جلسه هشتم : مفهوم شی گرایی
https://telegram.me/stepbysteplearn/963
💥جلسه نهم : کلاس ها و ارث بری
https://telegram.me/stepbysteplearn/1068
💥 جلسه دهم : اوراید کردن و چند ریختی
https://telegram.me/stepbysteplearn/1092
💥جلسه یازدهم : کلاس های ابسترک و رابط ها
https://telegram.me/stepbysteplearn/1137
💥جلسه دوازدهم (آخر) : کتابخونه ها
https://telegram.me/stepbysteplearn/1181
Telegram
Programming?
#java #java1
This media is not supported in your browser
VIEW IN TELEGRAM
معرفی زبان سی شارپ
#about C#
#about C#
Media is too big
VIEW IN TELEGRAM
جلسه سوم آموزش سی شارپ
#step_3_csharp
#step_3_csharp