Dedian |
|
|||
-- 關注搜索引擎的開發 |
日歷
統計
導航常用鏈接留言簿(8)隨筆分類(45)
隨筆檔案(82)
文章檔案(2)Java Spaces搜索積分與排名
最新評論
閱讀排行榜評論排行榜 |
when I try to debug my webcrawler?by crawling?yahoo website, I found that when trying to connect to a website which URL is such as http://www.youtube.com/w/Kak%E1?v=PIBe_V9PBIA&search=kak%C3%A1, the following exception will happen:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 12 ?at java.lang.String.substring(Unknown Source) ?at sun.net.www.ParseUtil.unescape(Unknown Source) ?at sun.net.www.ParseUtil.decode(Unknown Source) ?at sun.net.www.ParseUtil.toURI(Unknown Source) ?at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ?at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) follow is simple testing code: ? private static final String urlstring = " ???URL url = new URL(urlstring); ??? ???URLConnection con = url.openConnection(); ??? ???con.connect(); since there?are no other explicit exceptions except MalformedURLException & IOException mentioned to catch for this code, I am not sure if it is a bug in Java for URL parsing... anybody got some idea about that? P.S. ok, somebody has pointed out that Runtime exceptions, like java.lang.StringIndexOutOfBoundsException, do not have to be declared, but they can be thrown. So i need catch StringIndexOutOfBoundsException this exception for my code. But in my understanding, the function should catch all the exceptions from lower functions, and then throw out if it can not handle them, thus we can catch those exception from deep functions. I am not sure Runtime exceptions are exceptional ... |
![]() |
|
Copyright © Dedian | Powered by: 博客園 模板提供:滬江博客 |