[swift]17. 에러 및 주석

RudinP·2023년 9월 22일
0

Study

목록 보기
38/227

에러 커스텀

  • enum으로 정의
  • 타입은 Error
enum MismatchError: Error{
	case nameMismatch
    case numberMismatch
}

예외 처리 함수 형태(void)

  • throws 를 함수 선언 시 붙인다.
func guessMyName(name input:String) throws{
	if(input != "정답"){
    	throw MismatchError.nameMismatch
    } else{
    	print("정답")
    }
}

예외 처리 함수 형태(return값 있는 경우)

  • throws 뒤에 리턴 타입을 명시
func guessMyNumber(number input: Int) throws -> Bool{
	if(input != 10){
    	throw MismatchError.numberMismatch
    }
    else{
    	print("정답")
    }
}

do-try-catch

  • throws로 정의된 함수를 사용하는 부분
  • error의 타입이 뭔지 저장하는 변수는 error
  • 만약 에러에 대한 처리를 해주지 않아도 된다면 다음과 같이 사용하면 됨.
    • try? guessMyNumber(number: 9)
do{
	try guessMyNumber(number: 9)
    print("에러없음")
} catch{
	print("에러있음: \(error)")
}

리턴값이 있는 경우 do-try-catch

  • 동일하게 리턴값을 변수로 받을 수 있음.
  • 에러 발생 시 아래코드에서 let~단락은 실행 x
  • 바로 catch문으로 이동 후 실행됨
do{
	let a = try guessMyNumber(number: 9)
} catch{
	print("에러있음: \(error)")
}

func에 대한 주석

  • 단축키 alt + cmd + /
  • 반드시 정의된 함수 위에서 단축키를 입력
/// <#Description#>
/// - Parameters:
///   - list: <#list description#>
///   - n: <#n description#>
///   - r: <#r description#>
///   - idx: <#idx description#>
///   - selected: <#selected description#>
/// - Returns: <#description#>
func DFS(_ list:[Int],_ n:Int,_ r:Int,_ idx:Int,_ selected: inout [Int]) -> Void{
    ...(생략)
}
  • 작성 내용
/// 설명 쓰기
/// - Parameters:
///   - list: 인자 설명 쓰기
///   - n: <#n description#>
///   - r: <#r description#>
///   - idx: <#idx description#>
///   - selected: <#selected description#>
/// - Returns: 리턴되는 값에 대한 설명 쓰기
profile
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>

0개의 댓글