실패
둘러보기로 가기
검색하러 가기
캡슐에서 코드를 실행한 결과로 실패가 발생할 수 있다. 실패는 naru core Failure
타입으로 표현되며, 확장 가능하다.
x: nat := ... y: nat := ... -- `x - y`가 OutOfBound 실패를 발생시킬 수 있다. if x - y == 0 { -- 명시적으로 OutOfBound 실패를 발생시킨다. fail(OutOfBound("x - y == 0")) }
실패는 명백한 버그나 프로그래머가 예상하지 못한 상황을 다룬다는 점에서 결과 타입과 다르다. 따라서 실패는 어디서나 발생할 수 있으며, 실패를 처리하는 유일한 방법은 캡슐로 실패가 발생할 수 있는 코드를 가두는 것 뿐이다.