Dnes, keď som sa pozeral do zdrojového kódu Serilog.AspNetCore.RequestLoggingMiddleware, videl som catch nasledované kľúčovým slovom when v metóde, a potom som syntax try-catch-when nikdy nepoužil.
keď (C# referencia):Prihlásenie na hypertextový odkaz je viditeľné.
Použite kľúčové slovo kontextu pri špecifikácii filtra v nasledujúcich kontextoch:
- V klauzule o chytení vo výrokoch try-catch alebo try-catch-final.
- Ako prípadový strážca vo vyhlásení o zmene.
- ako prípadový strážca vo výraze Switch.
Syntax try-catch-keď
Kľúčové slovo when v catch klauzule môžete použiť na špecifikáciu podmienky,Táto podmienka musí byť splnená, aby handler vykonal handler pre konkrétnu výnimku。 Syntax je:
Medzi nimi je expr výraz, ktorého výsledkom výpočtu je booleovská hodnota. Ak výraz vráti pravdu, vykonáva sa obslužovateľ výnimiek; Ak je vrátená falošná, nevykoná sa.
true: Zadajte metódu chytenia na zachytenie výnimky.
false: Nezadávajte aktuálnu metódu chytania, ak sú ďalšie chytenia, môže zadať iné metódy chytania, ak nie sú žiadne ďalšie chytenia, program bude výnimočný.
Test je nasledovný:
(Koniec)
|