وقتی پرتاب می کنید ، کد شما دمیده می شود

TL ؛ DR: ایجاد یک استثناء جدید بدون پرتاب ، منجر به خرابی های ساکت می شود.

وقتی پرتاب می کنید ، کد شما دمیده می شود 💣💥

مشکلات

  • ساکت ناکامی
  • خطاهای نامشخص
  • منطق گمراه کننده
  • نقص های پنهان
  • استثنائات توخالی

راه حل ها

  1. همیشه از شما اطمینان حاصل کنید استثنائات را پرتاب کنید
  2. استفاده از استثنا و صید را بررسی کنید
  3. مسیرهای استثناء
  4. استفاده کردن رنگ
  5. از ایجاد استثنائات استفاده نشده خودداری کنید

متن

وقتی یک استثنا جدید ایجاد می کنید اما فراموش کردن آن را فراموش کنید، ممکن است کد شما به درستی کار کند ، اما این بی سکوت خطاهای مهم را نادیده می گیرد.

ایجاد استثنا همان است که ایجاد اشیاء تجاری و سازندگان نباید داشته باشند عوارض جانبیبشر

مگر اینکه آنها را پرتاب کنید ، این است رمز مردهبشر

رمز نمونه

اشتباه

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...

Source link