Dart 예외 처리

강정우·2024년 7월 15일
0

Flutter&Dart

목록 보기
82/87

Dart 예외처리

try-catch

try {
	
} catch (e, s) {
	
}

다트는 특이하게 stackTrace 객체도 함께 주어진다.

이게 stack trace 이다. 말 그대로 에러의 stack 을 추적하여 고대로 보여주는 것이다.

finally

try {
	
} catch (e, s) {
	
} finally {
	
}

try-catch 가 무조껀 거쳐가는 곳이다.

그럼 문제 try-catch 에 return 이 있다면 finally 가 동작할까?

정답은 "한다" 이다.

on

특정 에러타입을 잡을 때 사용.

try {
	
} on UnsupportedError catch (e, s) {

} on TypeError catch (e, s) {

} catch (e, s) {
	
} finally {
	
}

throw / rethorw

void main () {
	try {
        throw Exception ("뭔가 비즈니스 로직에서 발생 시킴!");
    } on UnsupportedError catch (e, s) {

    } on TypeError catch (e, s) {

    } catch (e, s) {

    } finally {
        rethrow;
    }
}

이렇게 가면 아마 Unhandled Exception 이 발생할 것이다.

profile
智(지)! 德(덕)! 體(체)!

0개의 댓글