Dnes, když jsem se díval do zdrojového kódu Serilog.AspNetCore.RequestLoggingMiddleware, viděl jsem catch následované klíčovým slovem when v metodě, a pak jsem syntaxi try-catch-when nikdy nepoužil.
když (C# reference):Přihlášení k hypertextovému odkazu je viditelné.
Použijte klíčové slovo kontextu při specifikaci filtru v následujících kontextech:
- V klauzuli catch ve větách try-catch nebo try-catch-final.
- Jako případový strážce v prohlášení o změně.
- jako případová ochrana ve výrazu Switch.
Syntax try-catch-when
Klíčové slovo when v klauzuli catch můžete použít k určení podmínky,Tato podmínka musí být splněna, aby handler mohl handler splnit pro konkrétní výjimku。 Syntaxe je:
Mezi nimi je expr výraz, jehož výpočetní výsledek je booleovská hodnota. Pokud výraz vrátí true, obslužná funkce výjimek se vykoná; Pokud je vrácena nepravda, není vykonána.
true: Zadejte metodu catch pro zachycení výjimky.
false: Nezadávejte aktuální metodu chytání, pokud jsou další chyty, může to být jiné metody chytání, pokud žádné další chyty nejsou, program bude výjimečný.
Test je následující:
(Konec)
|