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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
void main() {
///예외처리 : 프로그램이 진행 중일 때, 의도하였거나 / 의도하지 않은 상황에 대해서
///프로그램적으로 오류가 발생했을 때, 대처하는 방법
///try - catch 문 : 가장 기본적인 예외처리문 / 많이 쓰이는 예외처리 문이기도 함.
///on 문
///throw / rethrow 문
///
int num1 = 10;
try {
///예외가 발생할 것으로 예상되는 코드
print(10 ~/ 0);
} catch(error, stack) {
print(error);
print(stack);
} finally {
///예외가 발생 했던, 하지 않았던, try문 / catch문 이후에 실행하고자 하는 코드
print("예외처리 문을 지나쳤습니다.");
}
print("위의 에러 때문에 동작을 하지 않습니다.");
///try on exception 예외처리
///
int? num;
try {
///예외가 발생할 것으로 예상되는 코드
print(num!);
} on UnsupportedError catch(e, s) {
print("~/ 해당 연산자는 0으로 나눌 수 없습니다.");
} on TypeError catch (e, s) {
print("Null 값이 참조 되었습니다.");
} catch (e, s) {
print("모르는 에러가 발생했습니다.");
}
print("위의 에러 때문에 동작을 하지 않습니다.");
///throw / rethrow문
///throw는 예외를 만들어서 던지는 문이다.
///rethrow는 예외에서 벗어나도록 던지는 문이다.
///
try {
///예외가 발생할 것으로 예상되는 코드
throw Exception("Unknown Error");
} on UnsupportedError catch(e, s) {
print("~/ 해당 연산자는 0으로 나눌 수 없습니다.");
} on TypeError catch (e, s) {
print("Null 값이 참조 되었습니다.");
} catch (e, s) {
rethrow;
}
print("위의 에러 때문에 동작을 하지 않습니다.");
}
Flutter를 위한 Dart 예외처리문
This post is licensed under CC BY 4.0 by the author.