2012-03-07

Groovy : 클로져(반복자)에서 빠져나오기

보통의 반복문에서 중간에 빠져나오려면 break 를 사용하지만, 클로져(반복자)에서 break를 사용하면 에러가 발생한다. 다음 코드를 작성하여 실행해보면, 에러를 확인할 수 있을 것이다.

10.times { item -> 
    println item
    if(item == 6) break
}

이에 대한 대안으로는 Exception 을 사용하면 된다. 이제 다시 Exception 을 이용해서 클로져를 빠져나오는 코드를 보자. 좀 번거롭기는 하지만, 확실하게 break 와 같은 효과를 볼 수 있다.

try {
    10.times { item -> 
        println item
        if(item == 6) throw new Exception("break")
    }
} catch (e) {}

댓글 없음:

댓글 쓰기