2013-08-23 35 views
0

如何從這行中捕獲AttributeError並向用戶發送消息,讓我們說「你不能改變class =」post「」如何捕獲AttributeError?

我試過了,除了AttributeError,raise,print但總是返回沒有。 這就是我所做的:

+1

爲什麼該代碼會產生一個'AttributeError'?另外,在捕獲一個錯誤之後,您不會引發另一個錯誤。擺脫你的'else:'語句,把''你不能...''放在'except:'語句後面 – TerryA

回答

2

re.search()返回None如果字符串中沒有位置的模式相匹配。檢查None並引發異常:

post_start = re.search('<div class="post">', html) 
if post_start is None: 
    raise AttributeError('you can\'t change <div class="post">') 
+0

謝謝alecxe! – SpringField