이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 2721|회답: 0

[ASP.NET] ASP.NET Core 8은 전역 예외 처리를 위해 IExceptionHandler를 사용합니다

[링크 복사]
게시됨 2024. 6. 3. 오전 9:21:04 | | | |
요구사항: 프론트엔드와 일관된 요청 응답 데이터 형식을 유지하기 위해 백엔드는 전역 예외를 포맷해야 하며, 프론트엔드는 예외 정보를 받고 친근한 프롬프트를 제공합니다.

IExceptionHandler가 출시되기 전에 예외 캐칭 미들웨어를 작성해야 하며, 미들웨어 코드는 try-catch를 사용하여 캐포착하고 응답합니다.

ASP.NET Core 8은 예외 관리를 위한 새로운 기능을 도입했습니다IExceptionHandler추상적인. 내장된 예외 핸들러 미들웨어는 IExceptionHandler 구현체를 사용하여 예외를 처리합니다.

인터페이스에는 TryHandleAsync 메서드가 하나만 있습니다.

TryHandleAsync는 ASP.NET Core 파이프라인에서 지정된 예외를 처리하려고 시도합니다. 예외를 처리할 수 있다면 true로 반환되어야 합니다. 예외를 처리할 수 없으면 false를 반환해야 합니다. 이렇게 하면 다양한 상황에 맞는 맞춤형 예외 처리 로직을 구현할 수 있습니다.

컨트롤러가 예외를 던질 때, 코드는 다음과 같습니다:

예외를 처리하지 않는 경우, 운영 환경에서의 기본 응답은 다음과 같습니다:



다음 코드로 새로운 GlobalExceptionHandler 예외 핸들러를 생성하세요:

그 후 예외 핸들러를 등록하고 코드는 다음과 같습니다:

예외 컨트롤러에 접근하려 했는데 다음과 같은 응답이 나왔습니다:



참조:

하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.





이전의:Angular 17 시리즈(XVII)는 @Input 값의 변화를 감지합니다
다음:.NET/C#에서 DateTime과 DateTimeOffset의 차이점
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com