Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 스프링
- 김영한
- 백준
- http
- transaction
- pointcut
- Servlet
- 스프링 핵심 기능
- spring
- Thymeleaf
- 그리디
- kotlin
- SpringBoot
- Proxy
- Exception
- Android
- 알고리즘
- Greedy
- JDBC
- AOP
- JPQL
- db
- java
- 인프런
- 자바
- jpa
- 스프링 핵심 원리
- Spring Boot
- springdatajpa
- QueryDSL
Archives
- Today
- Total
개발자되기 프로젝트
예외 처리 본문
1. 프로그램에서의 오류
- Compile Error
- 프로그램 코드 작성 중 발생하는 문법적 오류
- 최근에는 개발환경에서 대부분 컴파일 오류는 detection 됨
- Runtime Error
- 실행 중인 프로그램이 의도 하지 않은 동작을 하거나 프로그램이 중지되는 오류
- 실행 오류는 비정상 종료가 되는 경우 시스템의 심각한 장애를 발생할 수 있음.
2. 예외 처리의 중요성
- 프로그램의 비정상 종료를 피하여 시스템이 원할이 실행되도록 함.(죽지 않도록!)
- 실행 오류가 발생한 경우 오류의 과정을 재현하는 것은 현실적으로 힘듦.
- 오류가 발생한 경우 log를 남겨서 추후 log를 분석해 그 원인을 파악하여 bug를 수정하는 것이 중요.
3. 오류와 예외 클래스
- 시스템 오류(error) : 가상 머신에서 발생. 프로그래머가 처리할 수 없느 ㄴ오류
- 동적 메모리가 없는 경우, 스택 메모리 오버 플로우 등
- 예외(Exception) : 프로그램에서 제어할 수 있는 오류
- 읽어들이려는 파일이 존재하지 않거나, 네트워크나 DB연결이 안되는 경우 등
- 자바는 안전성이 중요한 언어로 대부분 프로그램에서 발생하는 오류에 대해 문법적으로 예외 처리를 해야 함.
4. 예외 클래스
- 모든 예외 클래스의 최상위 클래스는 Exception 클래스
- 자바에서는 다양한 예외들에 대해 그 처리를 위한 클래스가 제공되고 있음
- Arithmetic Exception :정수를 0 으로 나눈 경우 발생
- NullPointerException : 초기화 되지 않은 Object를 사용하는 경우
- ArrayIndexOutOfBoundsException :배열의 크기를 넘어선 위치를 참조하려는 경우
- FileNotFoundException :참조하는 파일이 지정된 위치에 존재하지 않는 경우
- ClassNotFoundException
- InterruptedException :Thread.sleep(), join(). Object의 wait()로 non-runnable 상태인 thread를 Runnable하게 만들 수 있도록 사용할 수 있음
'Java > 다양한 기능' 카테고리의 다른 글
사용자 정의 예외 클래스 활용 (0) | 2021.10.31 |
---|---|
예외 처리와 미루기 (0) | 2021.10.30 |
Stream활용 예시 (0) | 2021.10.29 |
reduce() (0) | 2021.10.28 |
객체지향 프로그래밍 vs 람다식 구현 (0) | 2021.10.27 |
Comments