شما در پایتون میتونید خطا های برنامه رو به کمک چندین کلمه کلیدی و بلوک کد کنترل کنید. برای راحتی توضیحات از یک مثال استفاده میکنیم و مدیریت خطا رو بر روی این مثال انجام میدیم .
مثال : ساخت فانکشنی که حاصل تقسیم دو ورودی را نمایش بدهد و اگر خطایی رخ داد بدون خاتمه یافتن برنامه خطا را به شکل فارسی برگرداند.
ما در مرحله اول باید بلوک try رو بسازیم. در این بلوک کدهایی که میتونن موجب خطا بشن رو قرار میدیم در اینصورت اگر در اجرای این کد ها خطایی پیش اومد برنامه خطا رو به بلوک های بعدی میده تا بتونیم کنترل کنیم. دستورات ما تا اینجا به این شکل میشه:
def division(a,b):
# step1
try:
result=a/b
حالا ما باید مشخص کنیم که در صورت بروز خطا باید چکار انجام بشه که اینکار توسط بلوک except انجام میشه.
همینطور ما میتونیم رفتار رو به نسبت نوع خطا هم انجام بدیم و اگر در بلوک مد نظر نوع خطا مشخص نکنیم بلوک با به وجود اومدن هر نوع خطایی اجرا میشه.
def division(a,b):
# step1
try:
result=a/b
# step2
except ZeroDivisionError:
result = "نمیتوان بر صفر تقسیم کرد"
except TypeError:
result = "این دو نوع دیتا را نمیتوان بر یکدیگر تقسیم کرد"
except:
result="خطای ناشناخته"
باید اضافه کنم که:
ما میتونیم به این شکل هم به خود آبجکت خطا هم دسترسی داشته باشیم و ازش استفاده کنیم.
except Exception as e:
'''
Exception = نوع خطا
که در این حالت تمامی خطاها در نظر گرفته میشه. شما میتونید بجای این کلمه از TypeError یا ZeroDivisionError یا هر نوع خطا دیگه استفاده کنید.
e = آبجکت خطا
این کلمه که دلبخواه هستش به آبجکت خطا اشاره میکنه و شما میتونید به کمکش به موارد مختلف خطا دست پیدا کنید برای مثال
type(e).__name__
'''
در این مرحله میتوان با بلوک else در صورت رخ ندادن هیچ یک از except ها کنترل بیشتری رو داشته باشیم و چون در این مثال نیازی به این بلوک نیست ما میسازیمش ولی داخلش رو خالی میزاریم
بلوک finally در هر صورت اجرا میشن.
def division(a,b):
# step1
try:
result=a/b
# step 2
except ZeroDivisionError :
result = "نمیتوان بر صفر تقسیم کرد"
except TypeError as e:
result =f"{type(e).__name__} :این دو نوع دیتا را نمیتوان بر یکدیگر تقسیم کرد"
except :
result="خطای ناشناخته"
# step 3
else: pass
# step 4
finally: return result
امیدوارم براتون مفید بوده باشه
حمایت فراموش نشه
#Python #ErrorHandling #ExceptionHandling #PythonExceptions
#TryExcept #PythonProgramming #CodingTips #Debugging
#PythonTips #CodeQuality #RobustCode #PythonDev
#ErrorManagement #CleanCode #PythonLearning #comma_code #programing #پایتون #مدیریت_خطا #مدیریت_استثنا #خطا_در_پایتون
#تری_اکسپت #برنامه_نویسی_پایتون #نکات_کد_نویسی #دیباگ
#نکات_پایتون #کد_تمیز #برنامه_نویسی_ایمن #یادگیری_پایتون
#خطایابی #کد_حرفه_ای #پایتون_پیشرفته
#کاما_کد #برنامه_نویسی
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3👍1👏1
Media is too big
VIEW IN TELEGRAM
اعشار شناور
در این ویدئو توضیح دادم که چرا اعشار شناور رخ میده
امید وارم مفید باشه براتون ❤️
حمایت فراموش نشه 🙏😘
#پایتون #Python #آموزش_پایتون
#اعداد_اعشاری_شناور #FloatingPoint
#comma_code #کاما_کد
#نوع_داده_اعشاری #برنامه_نویسی
#نکات_پایتون #یادگیری_پایتون
📱 کانال تلگرام
📱 صفحه اینستاگرام
📱 چنل یوتیوب
🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤 🔤
در این ویدئو توضیح دادم که چرا اعشار شناور رخ میده
امید وارم مفید باشه براتون ❤️
حمایت فراموش نشه 🙏😘
#پایتون #Python #آموزش_پایتون
#اعداد_اعشاری_شناور #FloatingPoint
#comma_code #کاما_کد
#نوع_داده_اعشاری #برنامه_نویسی
#نکات_پایتون #یادگیری_پایتون
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤1👍1