Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 2721|Відповідь: 0

[ASP.NET] ASP.NET Core 8 використовує IExceptionHandler для глобальної обробки винятків

[Копіювати посилання]
Опубліковано 03.06.2024 09:21:04 | | | |
Вимоги: Щоб підтримувати послідовний формат даних відповіді на запит із фронтендом, бекенд має форматувати глобальний виняток, а фронтенд отримує інформацію про виняток і надає дружні підказки.

Перед виходом IExceptionHandler потрібно написати middleware, що ловить винятки, і код проміжного програмного забезпечення використовує try-catch для ловлі та відповіді.

ASP.NET Core 8 вводить нові для керування виняткамиIExceptionHandlerАбстрактний. Вбудоване проміжне програмне забезпечення обробника винятків використовує реалізацію IExceptionHandler для обробки винятків.

Інтерфейс має лише один метод TryHandleAsync.

TryHandleAsync намагається обробити заданий виняток у конвеєрі ASP.NET Core. Якщо виняток можна обробити, воно має повертати true. Якщо виняток не підлягає обробці, false слід повернути. Це дозволяє реалізувати власну логіку обробки винятків для різних сценаріїв.

Коли наш контролер видає виняток, код виглядає так:

Якщо ви не обробляєте винятки, відповідь за замовчуванням у виробничому середовищі виглядає так:



Створіть новий обробник винятків GlobalExceptionHandler з таким кодом:

Потім запрограмуйте обробник винятків, і код виглядає так:

Спробував отримати доступ до контролера винятків, і відповідь була такою:



Посилання:

Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.





Попередній:Кутова серія 17 (XVII) виявляє зміни значень @Input
Наступний:Різниця між DateTime і DateTimeOffset у .NET/C#
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com