예외 형식
F#에는 .NET 예외 형식 및 F# 예외 형식이라는 두 가지 범주의 예외가 있습니다. 이 항목에서는 F# 예외 형식을 정의하고 사용하는 방법을 설명합니다.
구문
exception exception-type of argument-type
설명
이전 구문 에서 exception-type 은 새 F# 예외 형식의 이름이고 인수 형식 은 이 형식의 예외를 발생시키는 경우 제공할 수 있는 인수의 형식을 나타냅니다. 인수 형식에 튜플 형식을 사용하여 여러 인수를 지정할 수 있습니다.
F# 예외에 대한 일반적인 정의는 다음과 유사합니다.
exception MyError of string
다음과 같이 함수를 사용하여 이 형식의 예외를 생성할 raise
수 있습니다.
raise (MyError("Error message"))
다음 예제와 같이 식의 필터에서 try...with
직접 F# 예외 형식을 사용할 수 있습니다.
exception Error1 of string
// Using a tuple type as the argument type.
exception Error2 of string * int
let function1 x y =
try
if x = y then raise (Error1("x"))
else raise (Error2("x", 10))
with
| Error1(str) -> printfn "Error1 %s" str
| Error2(str, i) -> printfn "Error2 %s %d" str i
function1 10 10
function1 9 2
F#의 키워드(keyword) 사용하여 exception
정의하는 예외 형식은 상속되는 새 형식입니다System.Exception
.
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET