dotnet / dotnet/command-line-api
How do we implement exception handling around Command.Invoke?
- Lingua principale
- C#
- Stelle
- 3.7k
- Fork
- 428
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
I have created a simple .NET Core console application with this line to execute the `Command`
```
try
{
rootCommand.Invoke(args)
}
catch
{
Console.Error.Write("Something bad happened");
}
```
But when the command handler associated to the command throws an exception, the catch block isn't executed. Instead, the Invoke method returns a non-zero integer.
So, what's the correct method to handle exceptions around `Invoke`/`InvokeAsync`?
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia con Command.Invoke e InvokeAsync, quindi traccia il modo in cui le eccezioni del gestore dei comandi associato diventano un valore restituito diverso da zero invece di raggiungere il blocco catch del chiamante. Confronta questo comportamento con l'esempio try/catch e stabilisci il contratto previsto per la gestione delle eccezioni per entrambi i punti di ingresso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp
- Ambito
- cli
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100