JAVA IllegalStateExecption
IllegalStateException은 잘못된 상태에서 코드가 실행될 때 발생하는 예외
public class Main {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("Hello");
list.add("World");
list.clear();
if (!list.isEmpty()) {
list.get(0); // throws IllegalStateException
}
}
}
위 예시 코드에서 list.clear() 메서드를 호출하여 list가 비워짐.그 후, list.isEmpty() 메서드를 호출하여 비어있는지 확인하고, 비어있지 않을 경우 (if (!list.isEmpty())) list.get(0) 메서드를 호출.하지만, list가 비어있기 때문에 list.get(0) 메서드 호출 시 IllegalStateException이 발생.
1.Iterator에서 next() 메서드 호출 전에 remove() 메서드가 호출된 경우
2.ArrayList에서 add() 메서드 호출 후, size() 메서드와 같은 메서드로 크기 제한이 초과된 경우
3.이미 닫힌 데이터베이스 연결을 사용하려고 시도한 경우
4.이미 닫힌 파일에 쓰려고 시도한 경우
5.이미 종료된 스레드에서 실행을 시도한 경우
6.이미 닫힌 소켓에서 데이터 전송을 시도한 경우
7.이미 실행된 메서드를 다시 실행하려고 시도한 경우
8.스레드 풀에서 이미 실행된 작업을 다시 실행하려고 시도한 경우
9.이미 닫힌 세션에서 데이터 전송을 시도한 경우
10.이미 닫힌 스트림에서 데이터 쓰기를 시도한 경우에서 발생 한다.
'Java' 카테고리의 다른 글
GUI(Graphical User Interface) (0) | 2023.04.04 |
---|---|
Exception Handling (0) | 2023.04.04 |
프로그래밍 언어와 자바 (0) | 2023.04.03 |
DI(Dependency Injection) Explanation and Code (0) | 2023.04.03 |
java UncheckedException nullpointerexception (0) | 2023.04.03 |