Notice
Recent Posts
Recent Comments
Link
투케이2K
16. (swift/xcode) throws , do catch 문을 사용해 에러 발생 상황 확인 실시 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
/*
[요약 설명]
1. 스위프트에서는 throws , do catch 를 사용해서 에러 발생 처리를 실시할 수 있습니다
2. [에러 발생 처리 로직]
- 에러가 발생할 것 같은 함수에 throws 키워드를 사용해 선언 실시
- 에러 발생 예상 함수에서 로직 처리 중 이상 데이터 값이 들어오면 throw 에러 발생 상황을 알림
- 실제로 에러 발생 예상 함수를 사용하는 일반 함수쪽에서 do catch 선언 및 try 사용해 에러 발생 예상 함수 호출 실시
3. 참고 : 일반적인 문법 오류 등에서는 catch 상황을 확인할 수 없습니다
*/
// [테스트 메인 함수 정의 실시]
func testMain() {
print("[Program Start]")
print("")
// [do catch 문 정의 실시 >> 에러 발생 예상 함수 호출]
do{
let numDataOne = try testError(_num: 10) // 양수값 삽입 실시
print("numDataOne 결과 : ", numDataOne)
let numDataTwo = try testError(_num: -10) // 음수값 삽입 실시
print("numDataTwo 결과 : ", numDataTwo)
}
catch let error as ErrorUtil {
print("ErrorUtil : ", error)
}
catch {
print("Default Error : ", error)
}
}
// [enum 사용해 에러 타입 정의 실시 : 선택 사항]
enum ErrorUtil : Error {
// 음수 값은 에러 정의
case NegativeNumber(Num : Int)
}
// [에러 발생 예상 함수 정의 실시 : throws 키워드 필요]
func testError(_num: Int) throws -> Int { // Int 값 리턴 실시
// 인풋으로 들어온 파라미터 값이 음수인지 체크
if _num < 0 { // 음수인 경우
throw ErrorUtil.NegativeNumber(Num: _num) // 에러 발생 상황 알림
}
else { // 양수인 경우
return _num // 인풋 값 리턴
}
}
[결과 출력]
[요약 설명]
/*
[요약 설명]
1. 스위프트에서는 throws , do catch 를 사용해서 에러 발생 처리를 실시할 수 있습니다
2. [에러 발생 처리 로직]
- 에러가 발생할 것 같은 함수에 throws 키워드를 사용해 선언 실시
- 에러 발생 예상 함수에서 로직 처리 중 이상 데이터 값이 들어오면 throw 에러 발생 상황을 알림
- 실제로 에러 발생 예상 함수를 사용하는 일반 함수쪽에서 do catch 선언 및 try 사용해 에러 발생 예상 함수 호출 실시
3. 참고 : 일반적인 문법 오류 등에서는 catch 상황을 확인할 수 없습니다
*/
반응형
'Swift' 카테고리의 다른 글
Comments