k-coding

Error throw 에러 본문

iOS/에러 모음

Error throw 에러

chkhn_oiiu 2022. 1. 13. 15:33

Error is not handled because the enclosing function is not declared 'throws'

 

error를 방지하기위해 throw문을 작성하다보면 위 사진같은 문구가 뜰 때가 있는데 😂

 

이 경우에 어떡해야 할까?

 

일단 간단한 예시를 보자면

 

func signUp(name: String?, age: Int) {
        guard name != nil else{
            throw ErrorCase.nameMiss
        }
        guard age <= 0 else {
            throw ErrorCase.ageMiss
        }
        print("name=\(name), age=\(age)")
    }

 다음과 같은 코드를 작성하면 error가 발생한다. 

 

해결법을 먼저 알아보자면 func 옆에 throws를 추가해주면된다.

func signUp(name: String?, age: Int) throws{
            guard name != nil else{
                throw ErrorCase.nameMiss
        }
        guard age <= 0 else {
            throw ErrorCase.ageMiss
        }
        print("name=\(name), age=\(age)")
    }

 

오류가 발생 시 오류를 처라해주는 do catch로 보내버릴 throws문을 생략하고 작성했기 때문입니다.

Comments