본문 바로가기
JAVA

[JAVA] 예외 발생 Exception 및 그 밖의 Exception 종류 및 예시

by kwh_coding 2024. 1. 10.
  1. ClassNotFoundException 또는 NoClassDefFoundError:
    •   이유: 필요한 JDBC 드라이버 클래스를 찾을 수 없음.
    •   예시: JDBC 드라이버를 프로젝트의 클래스패스에 추가하지 않은 경우.
  2. SQLException: Communications link failure:
    •   이유: 데이터베이스 서버와의 연결이 끊겼거나 연결을 설정할 수 없음.
    •   예시: 데이터베이스 서버 주소 또는 포트가 올바르지 않거나, 네트워크 문제.
  3. SQLSyntaxErrorException: Table or view not found:
    •   이유: SQL 쿼리에서 참조하는 테이블이나 뷰가 존재하지 않음.
    •   예시: MyBatis 매퍼 XML 파일에서 잘못된 테이블 이름을 참조하는 경우.
  4. DataAccessException: Data truncation:
    •   이유: 데이터가 테이블의 컬럼 크기를 초과하거나 유효하지 않은 형식으로 입력됨.
    •   예시: 문자열이 컬럼의 최대 길이를 초과하는 경우.
  5. MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
    •   이유: MyBatis에서의 일반적인 예외. SQL 예외의 상위 예외.
    •   예시: MyBatis가 데이터베이스와 상호 작용하면서 발생한 다양한 SQL 예외.
  6. CannotGetJdbcConnectionException: Could not get JDBC Connection:
    •   이유: 데이터베이스에 연결할 수 없음.
    •   예시: 데이터베이스 로그인 정보가 올바르지 않은 경우.
  7. org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction:
    •   이유: 트랜잭션을 시작할 수 없음.
    •   예시: 데이터베이스 연결이 올바르게 설정되지 않은 경우.
  8. NullPointerException:
    •   이유: 어떤 객체에 대한 참조가 null인 상태에서 해당 객체의 메서드나 속성에 접근하려고 할 때 발생함.
    •   예시:
      String str = null;
      int length = str.length(); // NullPointerException 발생
  9. TypeMismatchException:
    •   이유: 데이터 형식이 예상과 다를 때 발생합니다. 주로 데이터 타입 변환이나 캐스팅과 관련된 문제로 발생합니다.
    •   예시:
      Object obj = "Hello";
      Integer number = (Integer) obj; // TypeMismatchException 발생
  10. NumberFormatException:
    •   이유: 문자열을 숫자로 변환할 때, 해당 문자열이 숫자로 제대로 변환이 불가능한 경우에 발생합니다.
    •   예시:
      String str = "ABC";
      int num = Integer.parseInt(str); // NumberFormatException 발생
  11. ArrayIndexOutOfBoundsException:
    •   이유: 배열에서 존재하지 않는 인덱스에 접근하려고 할 때 발생합니다.
    •   예시:
      int[] arr = {1, 2, 3};
      int element = arr[5]; // ArrayIndexOutOfBoundsException 발생
  12. ClassCastException:
    •   이유: 클래스 간 형변환이 잘못된 경우 발생합니다.
    •   예시:
Object obj = "Hello";
Integer number = (Integer) obj; // ClassCastException 발생

 

 

'JAVA' 카테고리의 다른 글

[JAVA] 오버로딩(Overloading)과 오버라이드(Override)  (0) 2024.03.25
[JAVA] Class  (0) 2024.03.25
[JAVA] 자바의 자료구조  (1) 2023.11.27
[JAVA] JDK와 JRE  (0) 2023.11.16
[JAVA] pom.xml에 의존성(라이브러리) 추가 방법  (0) 2023.11.04