اما اگر چیزی وارد نکنید یا مثلا به جای عدد، حرف وارد کنید و دکمه اینتر را بزنید با پیغام خطا مواجه خواهید شد، مثلا، به جای عدد، حرف h را مینویسم و خطای زیر ظاهر میشود:
Salaam! Lotfan Yek Adad Benevis? h
Traceback (most recent call last):
File "Mesal_1_940217.py", line 4, in <module>
adad=int(adad)
ValueError: invalid literal for int() with base 10: 'h'
پیشتر گفته بودیم که تابع int رشته کاراکتری که عدد باشد یا خود عدد را به عدد صحیح تبدیل میکند.
برای رفع این خطای احتمالی در پایتون، دستور try/except در نظر گرفته شده است و وقتی استفاده میشود که شما خطای محتمل را میدانید و میخواهید در صورت وقوع آن خطا، پیامی که شما در نظر دارید، چاپ شود.
این دستور دو قسمت دارد، در بخش try شما میگویید که اگر همه چیز درست بود، دستورات بخش try اجرا شود. دستوراتی نیز زیر بخش except نوشته میشود که فقط در صورت وجود خطا در بخش try اجرا خواهند شد.
try A except B بدین معناست که A را امتحان کن، اگر خطا داد، B را. شکل کلی دستور به صورت زیر است:
پس، مثال بالا را میتوان بدین ترتیب تغییر داد:
حالا اگر باز هم به اشتباه مثل بالا حرف h را بنویسم، نتیجه زیر ظاهر خواهد شد:
Salaam! Lotfan Yek Adad Benevis? h
Lotfan Adad Vered Koind!
مزیت این کار این است که کاربر برنامه، متوجه خطای خود میشود و دوباره برای اجرا تلاش میکند.
تمرین: ابتدا از کاربر، بپرسید که در چه مقطعی درس میخواند: کارشناسی و پایینتر (1)، کارشناسی ارشد (2)، دکترا (3)
سپس، معدل او را بپرسید و آن را از مقیاس 0 تا 20 به مقیاس A تا F تبدیل کنید. هم از دستورات if و هم try/except استفاده کنید. (امتیاز تمرین: 2000)
تبدیل مقیاس به ترتیب زیر است:
کارشناسی و پایینتر
17 تا 20 = A
14 تا 16.9 = B
12 تا 13.9 = C
10 تا 11.9 = D
کمتر از ده = F
کارشناسی ارشد
17 تا 20 = A
14 تا 16.9 = B
12 تا 13.9 = C
کمتر از 12 = F
دکترا
17 تا 20 = A
14 تا 16.9 = B
کمتر از 14 = F
در قسمت بعد، مبحث تابع را آغاز خواهیم کرد.
خلاصه مباحث این جلسه:
* برای آگاهی کاربر از خطای احتمالی، میتوان از دستور try/except استفاده کرد.
* اگر خطایی نباشد، دستورات try کامل اجرا میشود ولی در صورت بروز خطا در بخش try، دستورات بخش except اجرا خواهد شد.
پ.ن. (ِیک)
سؤالاتتون را یا به طور خصوصی بپرسید یا از این تاپیک استفاده کنید.
پ.ن. (دو)
اگر برنامه را نصب نکردید، میتوانید از این لینک (طرز استفاده) استفاده کنید.
موفق باشید