2013-07-02 209 views
1

我想執行以下代碼(Jsoup):jsoup.element.select()拋出什麼異常?

Elements lessondata = td.select(" > table.container > tbody > tr > td > span.nobr"); 
    for (Element lesson : lessondata) { 
    System.out.println("Lesson..."); 
     } 

但只有當它是可以選擇此> table.container> TBODY> TR> TD> span.nobr。 有時,網站沒有這些標籤。因此,我想把這段代碼放在'嘗試'部分,並且如果我想要做的選擇是不可能的,那就趕上例外。但是現在我需要知道:如果不可能選擇給定路徑,element.select()會拋出什麼異常?

我將不勝感激您的幫助。

回答

2

它不拋出任何異常,並返回一個空的元素列表。使用isEmpty()size()檢查返回的列表。

Elements lessondata = td.select(
         " > table.container > tbody > tr > td > span.nobr"); 
if (!lessondata.isEmpty()) { 
    for (Element lesson : lessondata) { 
    System.out.println("Lesson..."); 
    } 
} 

的JavaDoc:http://jsoup.org/apidocs/org/jsoup/nodes/Element.html#select(java.lang.String)

2

您不需要捕捉異常。根據該文件

@return elements that match the query (empty if none match) 

只是檢查是否lessondata.isEmpty()

相關問題