Dziś, gdy przeglądałem kod źródłowy Serilog.AspNetCore.RequestLoggingMiddleware, zobaczyłem catch, a potem słowo key when w metodzie, i nigdy nie użyłem składni try-catch-when w tej metodzie.
gdy (odniesienie do C#):Logowanie do linku jest widoczne.
Używaj słowa klucza kontekstowego, gdy określasz filtr w następujących kontekstach:
- W klauzuli catch w stwierdzeniu try-catch lub try-catch-final.
- Jako strażnik w oświadczeniu o zmianie.
- jako strażnik przypadków w wyrażeniu przełącznika.
Składnia try-catch-gdy
Możesz użyć słowa kluczowego when w klauzuli catch, aby określić warunek,Warunek ten musi być spełniony, aby handler mógł wykonać handler dla danego wyjątku。 Składnia jest następująca:
Wśród nich expr jest wyrażeniem, którego wynik obliczeniowy jest wartością boole'a. Jeśli wyrażenie zwraca true, wykonuje się obsługę wyjątków; Jeśli fałszywe zostanie zwrócone, nie jest wykonywane.
true: Wprowadź metodę catch, aby złapać wyjątek.
false: Nie wprowadzaj aktualnej metody catch, jeśli są inne catchy, może ona wprowadzić inne metody, jeśli nie ma innych catchów, program będzie wyjątkowy.
Test wygląda następująco:
(Koniec)
|