MailboxProcessor.Error<'Msg>, propriété (F#)
Se produit lorsque l'exécution de l'agent génère une exception.
Espace de noms/Chemin du module : Microsoft.FSharp.Control
Assembly : FSharp.Core (in FSharp.Core.dll)
// Signature:
member this.Error : IEvent<Exception>
// Usage:
mailboxProcessor.Error
Valeur de retour
Les événements d'erreurs en tant qu'objet qui implémentent IEvent
Exemple
Le code suivant montre comment utiliser les événements Error pour gérer une exception qui se produit dans le corps de l'agent.
open System
type Message = string
let agent = MailboxProcessor<Message>.Start(fun inbox ->
let rec loop n =
async {
let! message = inbox.Receive(10000);
printfn "Message number %d. Message contents: %s" n message
do! loop (n + 1)
}
loop 0)
agent.Error.Add(fun exn ->
match exn with
| :? System.TimeoutException as exn -> printfn "The agent timed out."
printfn "Press Enter to close the program."
Console.ReadLine() |> ignore
exit(1)
| _ -> printfn "Unknown exception.")
printfn "Mailbox Processor Test"
printfn "Type some text and press Enter to submit a message."
while true do
Console.ReadLine() |> agent.Post
Un exemple de session suit.
Plateformes
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informations de version
Runtime F#
Pris en charge dans : 2.0, 4.0
Silverlight
Prise en charge dans : 3
Voir aussi
Référence
Control.MailboxProcessor<'Msg>, classe (F#)
Microsoft.FSharp.Control, espace de noms (F#)
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Janvier 2011 |
Ajout d'un exemple de code |
Améliorations apportées aux informations. |