나는 사용자, 그룹 및 사용자와 그룹 간의 매핑을 가지고있다. 이 세트를 조작하는 다양한 기능이 있지만 존재하지 않는 사용자에 대해 그룹을 매핑하거나 사용자를 추가 할 수 없어야합니다.하스켈의 "예외"
So 기본적으로 나는 이러한 함수가 호출자가 명시 적으로 처리해야하는 "예외"를 throw하려고합니다.
는 내가 처음이 같은 반환 생각 :
data Return r e = Success r | Exception e
을 그리고 호출자가 Exception
에 대한 패턴 일치, 그들은 희망 컴파일러 경고를 얻을 수 있습니다하지 못하는 경우, 또는 적어도 확실한 실행을 문제가 발생하면 오류가 발생합니다.
이 방법이 가장 좋은 방법이며이를 위해 미리 패키지 된 솔루션이 있습니까? 참고 : IO Monad가 아니라 순수한 코드에서 "예외"를 포착하고 catch해야합니다.