چطور چندین استثناء رو توی یک خط و در یک بلوک except بگیریم؟
How to catch multiple exceptions in one line (except block)
چطور میتونم چندین نوع استثناء (Exception) رو توی یک خط و در یک بلوک except مدیریت کنم؟ مثلاً اگر بخوام هم ValueError و هم TypeError رو همزمان بگیرم، چطور باید این کار رو انجام بدم؟
برای اینکه چندین نوع استثناء رو توی یک خط بگیری، میتونی از پرانتز استفاده کنی و اونها رو به صورت یه تاپل (tuple) به بلوک except بدی. اینجوری میتونی چندین استثناء رو با هم مدیریت کنی. مثلاً اگر بخوای هم ValueError و هم TypeError رو بگیری، کد به این شکل میشه:
try: # Your code here except (ValueError, TypeError) as e: # Handle the exception print(f"An error occurred: {e}")
در اینجا اگر هر کدوم از استثناءهای ValueError یا TypeError رخ بده، کد داخل بلوک except اجرا میشه و خطای مربوطه رو به صورت متغیر e میگیری. با این روش دیگه نیازی نیست که چندین بلوک except جداگانه برای هر نوع استثناء بنویسی، و کد تو مرتبتر و خواناتر میشه.
این روش هم از نظر عملکردی و هم از نظر نگهداری کد، بهترین راه برای مدیریت چندین استثناء هست و در موقعیتهای زیادی میتونه به کارت بیاد.