I dag, da jeg kiggede på kildekoden til Serilog.AspNetCore.RequestLoggingMiddleware, så jeg catch efterfulgt af when-nøgleordet i metoden, og så brugte jeg aldrig try-catch-whn-syntaksen.
when(C# reference):Hyperlink-login er synlig.
Brug kontekstnøgleordet når for at specificere filteret i følgende kontekster:
- I catch-klausulen i try-catch eller try-catch-finally sætningen.
- Som case guard i skifteudsagnet.
- som case guard i switch-udtrykket.
try-catch-when syntaks
Du kan bruge when-nøgleordet i catch-klausulen til at specificere en betingelse,Denne betingelse skal være opfyldt for, at handleren kan udføre handleren for en bestemt undtagelse。 Syntaksen er:
Blandt dem er expr et udtryk, hvis beregningsresultat er en boolesk værdi. Hvis udtrykket returnerer sand, udføres undtagelseshandleren; Hvis falsk returneres, udføres den ikke.
true: Indtast fangstmetoden for at fange undtagelsen.
false: Indtast ikke den aktuelle fangstmetode, hvis der er andre fangster, kan den indtaste andre fangstmetoder, hvis der ikke er andre fangster, vil programmet være exceptionelt.
Testen er som følger:
(Slut)
|