2
포니에는 매개 변수가없는 단일 예외 값이 있습니다.포니의 여러 유형의 오류를 구분합니까?
불행히도 나는 여러 종류의 예외를 던지기를 원하는 코드가 있으며, 제대로 처리하기 위해 무엇이 필요한지를 알아야합니다. 예를 들어, 프로그램을 중단 할 때 사용자에게 중요한 것은 올바른 오류 메시지!
포니에서 이렇게하는 관용적 인 방법은 무엇입니까?
포니에는 매개 변수가없는 단일 예외 값이 있습니다.포니의 여러 유형의 오류를 구분합니까?
불행히도 나는 여러 종류의 예외를 던지기를 원하는 코드가 있으며, 제대로 처리하기 위해 무엇이 필요한지를 알아야합니다. 예를 들어, 프로그램을 중단 할 때 사용자에게 중요한 것은 올바른 오류 메시지!
포니에서 이렇게하는 관용적 인 방법은 무엇입니까?
현재 관용구적인 방법은 오류를 사용하지 않고 대신 일반 반환 유형의 공용체 형식과 오류 이유를 사용하는 것입니다. 예를 들어, ReturnType
를 반환하고 Error1
또는 Error2
중 하나에 오류가 할 수있는 기능이있는 경우, 함수 서명은
fun foo(): (ReturnType | Error1 | Error2)
가 호출자의 기능은 다음 match
노조에 무슨 일이 있었는지 확인해야 할 수 있습니다.
표준 라이브러리의 files
패키지는이 예디를 광범위하게 사용합니다.
또한 완전성을 위해 입력 오류를 추가 할 때 RFC이 현재 논의되고 있습니다.