자바에서 문자열 다루다 보면 은근 자주 터지는 예외가 있다.👉 StringIndexOutOfBoundsException배열/리스트의 IndexOutOfBoundsException이랑 거의 비슷한데,👉 문자열(String)에서만 발생하는 버전이라고 보면 된다.StringIndexOutOfBoundsException 이란?👉 "문자열의 인덱스 범위를 벗어났을 때 발생하는 예외"즉,문자열 길이가 5인데 index 5 접근음수 인덱스 사용substring 범위 잘못 지정👉 이런 상황에서 터진다.가장 기본적인 예제public class Main { public static void main(String[] args) { String str = "Hello"; System.ou..
자바에서 배열 다루다 보면 아주 드물지만, 한 번 터지면 바로 원인 잡아야 하는 예외가 있다.👉 NegativeArraySizeException이건 다른 예외들보다 단순한데, 대신 원인을 바로 이해 못 하면 계속 헤맬 수 있는 타입이다.NegativeArraySizeException 이란?👉 "배열 크기를 음수로 생성하려고 할 때 발생하는 예외"즉,✔ 배열 크기 👉 이 조건이면 무조건 터진다가장 기본적인 예제public class Main { public static void main(String[] args) { int[] arr = new int[-5]; // ❌ 오류 }}실행하면:Exception in thread "main" java.lang.NegativeArrayS..
자바에서 배열을 다루다가 가끔 뜨는, 이름은 낯설지만 원인은 명확한 예외가 있다.👉 ArrayStoreException이건 딱 한 가지 상황에서 발생한다.👉 "배열에 잘못된 타입의 값을 넣었을 때"처음엔 잘 이해가 안 될 수 있는데, 코드 보면 바로 감 잡힌다.ArrayStoreException 이란?👉 "배열이 허용하지 않는 타입을 저장하려고 할 때 발생하는 예외"핵심은 이거다:✔ 배열이 기대하는 타입이 있는데✔ 다른 타입을 넣으려고 하면 터진다가장 기본적인 예제public class Main { public static void main(String[] args) { Object[] arr = new String[3]; arr[0] = "hello"; // OK ..
자바에서 스레드(Thread) 다루기 시작하면 한 번쯤 반드시 마주치는 예외가 있다.👉 InterruptedException처음 보면 “인터럽트? 뭐가 끊겼다는 건가?” 싶지만,핵심은 딱 하나다.👉 "스레드가 쉬고 있는데, 다른 스레드가 깨웠다"이 개념만 이해하면 끝이다.InterruptedException 이란?👉 "대기 중인 스레드가 인터럽트(interrupt) 되었을 때 발생하는 예외"여기서 중요한 포인트:✔ 스레드가 쉬고 있을 때만 발생✔ 누군가 interrupt()를 호출해야 발생가장 기본적인 예제public class Main { public static void main(String[] args) { Thread thread = new Thread(() -> { ..