while은 조건부터 확인하기 때문에 조건문의 결과값이 false인 경우 statements를 한 번도 실행하지 않게 됨.
while condition {
statements
}
while과 달리 repeat while은 반복문을 최소 1번 실행하고 그 다음에 조건을 체크한다
The other variation of the while loop, known as the repeat-while loop, performs a single pass through the loop block first, before considering the loop’s condition. It then continues to repeat the loop until the condition is false.
repeat {
statements
} while condition
활용 예시
var isSunnyToday = false
var exerciseToday = "오늘은 산책을 하지 않았습니다 🙅♀️"
while isSunnyToday {
exerciseToday = "오늘은 산책을 했습니다 🙆♀️"
}
print(exerciseToday) // print "오늘은 산책을 하지 않았습니다 🙅♀️"
위의 while문의 경우 조건인 isSunnyToday 값이 false이기 때문에 while 안의 내용이 1번도 실행되지 않았다.
그러므로 exerciseToday 값이 바뀌지 않은 상태로 출력됨.
var isSunnyToday = false
var exerciseToday = "오늘은 산책을 하지 않았습니다 🙅♀️"
repeat {
exerciseToday = "오늘은 산책을 했습니다 🙆♀️"
} while isSunnyToday
print(exerciseToday) // print "오늘은 산책을 했습니다 🙆♀️"
repeat while문의 경우 isSunnyToday 값이 false임에도 불구하고 일단 최소 1번은 실행됨.
이때 exerciseToday의 바뀐 값을 넣어주고,
결과적으로 다른 내용을 프린트하게 된다.
객체지향 언어에서 오류가 발생했을 때 해당 오류를 처리하는 방법
Why? 실행 흐름 중간에 오류 객체를 만들어 다른 실행 흐름으로 옮겨가는 것!
→ 함수/메소드의 반환 타입을 건드리지 않고도 효율적으로 오류 정보 전달 가능
오류 타입으로 사용되는 열거형을 정의할 때는 반드시 Error 프로토콜을 구현해야 함
do {
try <오류를 던질 수 있는 함수>
} catch <오류 타입1> {
// 오류 타입1에 대한 대응
} catch <오류 타입2> {
// 오류 타입2에 대한 대응
} catch <오류 타입3> {
// 오류 타입3에 대한 대응
} catch ...
출처: 꼼꼼한 재은씨의 스위프트: 문법편 CHAPTER 11 오류 처리