티스토리 뷰

Dart도 다른 언어처럼 Exception이 발생하며, try-catch 등으로 예외를 처리할 수 있습니다.

 

다양한 예제를 통해 어떻게 예외를 처리하고 활용할 수 있는지 알아보겠습니다.

 

 

1. try-catch-finally 로 예외 처리

Java와 같이, try { ... } 안에서 예외가 발생하면 catch로 이동하며, catch 안에서 예외를 처리할 수 있습니다.

아래 코드에서 try에서 발생한 Exception은 catch의 인자 e로 전달됩니다.

그리고 finally는 예외가 발생하거나, 발생하지 않거나 관계 없이 항상 마지막에 실행됩니다.

try {
  // 예외가 발생할 수 있는 코드
  print('Do something');
} catch (e) {
  // 예외 발생 시 실행할 코드
  print('Exception occurred : $e');
} finally {
  // 예외 발생 여부와 상관없이 실행할 코드
  print('Finish');
}

 

2. 특정 Exception에 대한 예외처리

위의 예제는 모든 Exception에 대한 예외처리 코드였습니다.

 

아래 예제에서, "on Exception catch(e)" 구문은 특정 예외를 처리하며, 여러 구문을 추가할 수 있습니다.

아래 예제는 순차적으로 FormatException, IntegerDivisionByZeroException을 처리합니다.

그 외의 예외가 발생하면 catch를 하지 못하여 프로그램이 종료됩니다.

try {
  // 예외가 발생할 수 있는 코드
} on FormatException catch (e) {
  // FormatException에 대한 예외처리
  print('FormatException : $e');
} on IntegerDivisionByZeroException catch (e) {
  // IntegerDivisionByZeroException에 대한 예외처리
  print('IntegerDivisionByZeroException : $e');
}

 

3. Throw로 예외 발생시키기

특정 상황에서 문제가 발생했다는 이벤트를 보내고 싶어서 Exception을 발생시키고 싶을 수가 있습니다.

이럴 때는 아래와 같이 throw 를 사용하여 Exception을 발생시킬 수 있습니다. 

 

try {
  if (someCondition) {
    throw Exception('Exception occur!');
  }
} catch (e) {
  print('Exception: $e');
}

 

4. Stacktrace 로그 출력

아래와 같이 Exception에 대한 Stracktrace 로그를 출력할 수 있습니다.

 

try {
  // 예외가 발생할 수 있는 코드
} catch (e, stackTrace) {
  // 예외 발생 시 실행할 코드
  print('Exception: $e');
  print('StackTrace: $stackTrace');
}

 

 

'개발 > Dart' 카테고리의 다른 글

Dart - 파일/디렉토리 삭제  (0) 2023.06.11
Dart - 리스트 분리(자르기, 나누기)  (0) 2023.04.27
Dart - 리스트 정렬 방법  (0) 2023.04.17
Dart - Map 생성, 초기화 방법  (0) 2023.04.16
Dart - Map 루프, 순회 방법  (0) 2023.04.15
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함