티스토리 뷰
플러터에서 사용하는 다트 언어에는 예외 클래스와 에러 클래스가 존재한다.
각 클래스의 차이점에 대해서 알아보자.
예외 클래스
예외 클래스는 오류에 대한 정보를 사용자에게 전달하기 위해 사용된다. 그리고 오류를 프로그램으로 처리할 수 있도록 한다. 이 예외는 catch로 잡히기를 기대하며, 유용한 데이터를 포함해야 한다.
예외 클래스인 Exceioption은 Exception("메시지")처럼 간단히 예외를 만들 수 있지만 라이브러리 코드에서는 사용을 금지한다. 왜냐하면 사용자들이 정확한 타입을 잡을 수 없기 때문이다. 이 클래스의 인스턴스는 테스트나 개발 중에 사용하자.
프로덕션 코드에서는 Excpetion의 하위 클래스를 정의해서 정확한 예외 정보를 전달하도록 해야 한다.
에러 클래스
에러 클래스는 프로그래머가 피해야 할 프로그램 실패는 나타낸다. 예를 들어, 유효하지 않은 인자로 함수를 호출하거나, 인자의 개수가 잘못되는 경우 등이 있다.
에러는 호출자가 예상하거나 처리해야 하는 오류가 아니다. 만약 이러한 오류가 발생하면 프로그램은 잘못된 상태에 있으며, 프로그램을 종료하는 것이 가장 안전한 대응 방법이 된다.
에러는 catch로 잡히기 위해 생성되지 않으므로, 하위 클래스로 만들 필요는 없다. 대신 관련된 오류들을 일관된 오류 메시지와 함께 쉽게 생성하기 위해서라면 하위 클래스로 만드는 것이 좋다. 하지만 이 경우도 사용자가 에러를 잡거나 처리할 것으로 기대하지 않는다.
예외와 에러의 차이점
예외 클래스는 수정이 가능한 오류가 된다. 따라서 사용자에게 오류에 대한 정확한 정보를 예외 클래스로 전달해서 수정이 가능하게 한다.
반면 에러 클래스는 수정이 불가능한 오류가 된다. 그래서 에러가 발생하면 프로그램이 종료하는 것이 가장 안전한 대응 방법이 된다.
'Flutter' 카테고리의 다른 글
dart] json_serializable (0) | 2023.07.29 |
---|---|
다트] 객체 동등성(equality) 구현하기, equaltable (0) | 2023.07.19 |
플러터] iOS, Anroid 플랫폼 확인하는 방법 (0) | 2023.07.15 |
플러터] AdMob 광고 추가하기 (0) | 2023.07.15 |
플러터] 조건에 따라서 위젯을 추가하는 방법 (0) | 2023.07.15 |