[dart] HTTP 요청 중에 예외 처리하기

HTTP 요청을 보낼 때 네트워크 문제나 서버 오류와 같은 예외 상황이 발생할 수 있습니다. 이러한 상황에 대비하여 Dart 언어로 HTTP 요청 시 예외를 처리하는 방법을 알아보겠습니다.

예외 처리

Dart에서 HTTP 요청을 보내는 데 사용되는 http 패키지는 Futureasync/await를 기반으로 동작합니다. 이에 따라 HTTP 요청 중 발생하는 예외는 try-catch를 사용하여 처리할 수 있습니다.

import 'package:http/http.dart' as http;

void fetchPost() async {
  try {
    var response = await http.get('https://jsonplaceholder.typicode.com/posts/1');
    print('Response status: ${response.statusCode}');
    print('Response body: ${response.body}');
  } catch (e) {
    print('Error during HTTP request: $e');
  }
}

위 코드에서는 http.get 메서드로 요청을 보내고, try-catch 블록으로 예외를 처리합니다. 만약 예외가 발생하면 콘솔에 에러 메시지가 출력됩니다.

네트워크 연결 확인

HTTP 요청을 보내기 전에 네트워크 연결을 확인하는 것이 좋습니다. Dart에서는 http 패키지의 Client 클래스를 사용하여 커스텀 HTTP 클라이언트를 생성할 수 있습니다. 이를 활용하여 네트워크 연결을 확인하고, 예외를 처리할 수 있습니다.

import 'package:http/http.dart' as http;

void fetchPost() async {
  try {
    final client = http.Client();
    var response = await client.get('https://jsonplaceholder.typicode.com/posts/1');
    print('Response status: ${response.statusCode}');
    print('Response body: ${response.body}');
    client.close();
  } catch (e) {
    print('Error during HTTP request: $e');
  }
}

결론

Dart를 사용하여 HTTP 요청을 보내는 동안 발생하는 예외를 처리하는 방법을 살펴보았습니다. try-catch를 사용하여 예외를 처리하고, 네트워크 연결 확인을 통해 안정성을 높일 수 있습니다.

이러한 예외 처리 및 안정성 강화는 Dart 애플리케이션의 신뢰성을 높이는 데 기여할 수 있습니다.

참고 자료: