URL이 내 스크립트로 전달되는 다양한 웹 사이트의 크기를 검색하려고 시도하지만 잘못된 URL을 전달할 때 예외가 발생하지 않고 단순히 매우 작은 페이지. 나는 Source.fromURL
를 사용하고, 나는 다음과 같은 결과를 얻을 :이 말한대로 그 안에 아무것도 안,Source.fromURL이 잘못된 URL에 대한 예외를 throw하지 않습니다.
thisIsClearlyABoggusURLThatCantPossiblyLeadAnyway 1052
www.bbc.co.uk 113871
첫 번째를하지만 않습니다.
def main(args:Array[String]){
val tasks = for(arg <- args) yield future {
try {
println(arg + " " + Source.fromURL(attachPrefix(arg)).length)
} catch {
case e : java.net.UnknownHostException => println(arg + " *")
}
}
awaitAll(20000L, tasks: _*)
}
def attachPrefix(url:String) = url.slice(0, 4) match {
case "http" => url
case "www." => "http://" + url
case _ => "http://www." + url
}
각 인수가 그것을 사용하기 전에 필요한 접두사를 가지고 보장하기 위해 기능 attachPrefix
로 전달되는 다음과 같이 내 스크립트입니다. 이 문제는 내가 둘 사이의 차이는 무엇
args map attachPrefix
에 앞서 무엇을하고 있었는지 인의 arg
에 그것을 매핑 대신 매개 변수로 URL을 전달 시작한 이후 약 와서 왜왔다 내 현재 그런 행동을하는 사람?
[자바의 접근 방식 (http://stackoverflow.com/q/2230676/298389) –
고마워 : 최상위 도메인이 6 개 글자를 초과하기 때문에 예를 들어,이, 당신의 예를 잡을 것 제안을 위해. 그 중 하나에 대해서는 몰랐습니다. 그러나이 경우에는 순수 스칼라에 있어야합니다. –
'scala.io.Source.fromURL ("http : //www.thisIsClearlyABoggusURLThatCantPossiblyLeadAnyway")''java.net.UnknownHostException'을 던집니다. 크기를 검색하는 코드가 정확히 무엇을하는지 궁금합니다. 당신의 코드에'toString'을 가지고 있을지도 모릅니다. 실제로 예외 텍스트의 길이를 검색하고 있습니다, 아마도 ...? – Hbf