TL ؛ DR: ایجاد یک استثناء جدید بدون پرتاب ، منجر به خرابی های ساکت می شود.
وقتی پرتاب می کنید ، کد شما دمیده می شود 💣💥
مشکلات
- ساکت ناکامی
- خطاهای نامشخص
- منطق گمراه کننده
- نقص های پنهان
- استثنائات توخالی
راه حل ها
- همیشه از شما اطمینان حاصل کنید استثنائات را پرتاب کنید
- استفاده از استثنا و صید را بررسی کنید
- مسیرهای استثناء
- استفاده کردن رنگ
- از ایجاد استثنائات استفاده نشده خودداری کنید
متن
وقتی یک استثنا جدید ایجاد می کنید اما فراموش کردن آن را فراموش کنید، ممکن است کد شما به درستی کار کند ، اما این بی سکوت خطاهای مهم را نادیده می گیرد.
ایجاد استثنا همان است که ایجاد اشیاء تجاری و سازندگان نباید داشته باشند عوارض جانبیبشر
مگر اینکه آنها را پرتاب کنید ، این است رمز مردهبشر
رمز نمونه
اشتباه
class KlendathuInvasionError(Exception):
def __init__(self, message):
self.message = message
# This is a hollow exception
def deploy_troops(safe):
if not safe:
KlendathuInvasionError("Drop zone is hot!")
# Never thrown
print("Troopers deployed.")
deploy_troops(False)
درست
class KlendathuInvasionError(Exception):
def __init__(self, message):
super().__init__(message)
def deploy_troops(safe):
if not safe:
raise Exception("Drop zone is hot!")
# You throw the exception
print("Troopers...