[flutter] 플러터 build_runner의 예외 처리 방법

플러터의 build_runner을 사용하다가 예외가 발생하는 경우에 대비하여 예외 처리 방법에 대해 알아보겠습니다.

build_runner이란?

build_runner는 플러터와 다트 언어에서 코드 생성을 도와주는 도구입니다. 주로 코드 생성 및 기타 작업을 자동화하기 위해 사용됩니다.

예외 처리 방법

build_runner에서 발생하는 예외는 기본적으로 터미널에 로그로 남게 되며, 자세한 정보를 확인할 수 있습니다. 그러나 이러한 예외를 미리 방지하거나 적절히 처리하기 위해서는 몇 가지 방법을 사용할 수 있습니다.

1. onError 핸들러 사용

build 함수에 onError 핸들러를 등록하여 예외가 발생했을 때 실행되는 코드를 작성할 수 있습니다.

예시:

import 'package:build_runner/build_runner.dart';
import 'package:source_gen/source_gen.dart';

// ...

build(
  // ...
  onError: (error, stackTrace) {
    // 예외 처리 코드 작성
    print('에러 발생: $error');
    // 추가 작업 수행 가능
  },
);

2. try-catch 블록 사용

build 함수 내에서 코드를 실행하는 부분을 try-catch 블록으로 감싸 예외를 처리할 수도 있습니다.

예시:

import 'package:build_runner/build_runner.dart';
import 'package:source_gen/source_gen.dart';

// ...

try {
  // 예외가 발생할 수 있는 코드
} catch (e, stackTrace) {
  print('에러 발생: $e');
  // 추가 작업 수행 가능
}

3. Futureasync-await 사용

비동기 작업을 수행하는 경우 Futureasync-await를 이용하여 예외를 처리할 수 있습니다.

예시:

import 'package:build_runner/build_runner.dart';
import 'package:source_gen/source_gen.dart';

Future<void> generateCode() async {
  try {
    // 예외가 발생할 수 있는 비동기 작업
  } catch (e, stackTrace) {
    print('에러 발생: $e');
    // 추가 작업 수행 가능
  }
}

마치며

build_runner을 사용하다가 예외가 발생하는 상황에 대비하여 적절한 예외 처리 방법을 적용하여 안정적인 코드를 작성할 수 있습니다.

참고 문헌: Dart 언어 공식 문서