Sha256: 000294489c63ad637462d0b993e13e19c1dcb93476b54792fca197086025a045

Contents?: true

Size: 729 Bytes

Versions: 396

Compression:

Stored size: 729 Bytes

Contents

module ErrorHandling

open System

type Result<'TSuccess, 'TError> =
    | Ok of 'TSuccess
    | Error of 'TError

let handleErrorByThrowingException() = failwith "An error occurred."

let handleErrorByReturningOption input = 
    match Int32.TryParse input with
    | true, value -> Some value
    | false, _ -> None

let handleErrorByReturningResult input = 
    match Int32.TryParse input with
    | true, value -> Ok value
    | false, _    -> Error "Could not convert input to integer"

let bind switchFunction twoTrackInput = 
    match twoTrackInput with
    | Ok s -> switchFunction s
    | Error f -> Error f

let cleanupDisposablesWhenThrowingException resource = 
    use r = resource
    failwith "Throw exception"

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.179 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.178 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.177 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.176 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.175 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.174 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.173 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.172 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.171 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.170 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.169 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.167 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.166 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.165 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.164 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.163 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.162 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.161 tracks/fsharp/exercises/error-handling/Example.fs
trackler-2.2.1.160 tracks/fsharp/exercises/error-handling/Example.fs