> 웹 프론트엔드 > JS 튜토리얼 > Hono RPC를 사용한 우아한 오류 처리 및 종단 간 형식 안전성

Hono RPC를 사용한 우아한 오류 처리 및 종단 간 형식 안전성

Barbara Streisand
풀어 주다: 2024-12-25 11:18:11
원래의
818명이 탐색했습니다.

Elegant Error Handling and End to End typesafety with Hono RPC

저는 항상 JavaScript의 오류 처리에 대해 애증의 관계를 유지해 왔습니다. try-catch 블록에 의존하고 예외를 던지는 방식이 다른 사람들에게는 효과가 있을 수도 있지만 가끔은 확실히 좌절스럽습니다.

다음의 일반적인 JavaScript 오류 처리 패턴을 고려해보세요.

코드가 너무 많아서 아직 오류 유형을 알 수 없습니다.

제 생각에는 오류를 처리할 때 오류의 원인이 무엇인지, 어디서 왔는지, 어떤 유형의 오류인지 알고 즉시 처리하고 싶다는 것입니다. 특히 서버 환경에 있을 때는 더욱 그렇습니다. 나에게는


골랑의 길

나는 golang이 오류를 처리하는 방식과 같은 오류를 처리하는 것을 선호합니다. 기본적으로 오류는 값으로 처리됩니다.

이렇게 하면 오류를 즉시 처리할 수 있으며 오류가 있을 경우 실행되는 나머지 코드에 대해 걱정할 필요가 없습니다.

Supabase는 supabase-js 라이브러리에서도 동일한 작업을 수행합니다.


Hono RPC를 사용한 우아한 오류 처리

프로그램의 주인공에 대해 이야기해보겠습니다

이 함수는 별로 보이지 않을 수도 있지만 RPC를 통해 유형이 안전한 JSON 매개변수를 제공합니다. 모든 오류를 처리하고 엔드포인트의 반환 유형을 기반으로 RPC 정의에서 추론된 데이터 유형을 사용하여 데이터 또는 오류가 포함된 개체를 반환합니다.


우아한 오류 처리 설정

공식 문서를 사용하여 Hono Rpc 설정

Hono 오류 처리기 설정

백엔드는 항상 오류 메시지와 상태 코드가 포함된 텍스트 응답을 반환해야 합니다.

Hono의 문서에 따르면 다음과 같이 HTTPException을 발생시켜야 합니다

이제 우리는 오류가 발생하면 항상 오류 메시지와 상태 코드가 포함된 텍스트 응답을 받게 된다는 것을 알고 있습니다.


3. 프런트엔드에서 오류 핸들러 설정

callRpc는 RPC 정의를 기반으로 데이터 유형을 자동으로 추론하고 데이터 또는 오류가 포함된 객체를 반환합니다.


4. 사용법

보내는 것부터 받는 것까지 모든 것이 형식 안전합니다

저는 이렇게 설정된 코드베이스에서 작업해왔는데 지금까지 경험한 것 중 가장 원활한 개발자 경험이었습니다. 저는 단지 그것을 공유하기 위해 왔습니다.


단점

  • 백엔드는 오류에 대한 텍스트 반환과 성공 응답에 대한 JSON 반환으로 제한됩니다
  • 이 패턴을 사용하면 자바스크립트에서 오류를 처리하는 관용적인 방식에서 벗어납니다
  • 오류는 즉시 처리해야 하는데, 원하는 결과가 아닐 수도 있습니다

위 내용은 Hono RPC를 사용한 우아한 오류 처리 및 종단 간 형식 안전성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿