在Python中,要想引發異常,最簡單的形式就是輸入關鍵字raise,后跟要引發的異常的名稱。異常名稱標識出具體的類: Python異常處理是那些類的對象。執行raise語句時,Python會創建指定的異常類的一個對象。raise語句還可指定對異常對象進行初始化的參數。為此,請在異常類的名稱后添加一個逗號以及指定的參數(或者由參數構成的一個元組)。
例如:在scrapy官網可以看到,scrapy異常處理的丟棄item中的DropItem()異常處理。
驗證價格,同時丟棄沒有價格的item
from scrapy.exceptions import DropItem class PricePipeline(object): vat_factor = 1.15 def process_item(self, item, spider): if item['price']: if item['price_excludes_vat']: item['price'] = item['price'] * self.vat_factor return item else: raise DropItem("Missing price in %s" % item)
對於對應的異常類,到scrapy的官網去觀看。
http://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/exceptions.html