정리사항(피드백) 52 - try-catch문 예외처리
*try-catch문
try {
// 예외가 발생할 가능성이 있는 코드
} catch (Exception e) {
// 예외 처리 코드
}
위 코드에서 "try" 블록 안에는 예외가 발생할 가능성이 있는 코드가 포함되어 있습니다. 만약 예외가 발생하면, 프로그램은 "catch" 블록으로 이동합니다. "catch" 블록 안에는 예외를 처리하는 코드가 포함되어 있습니다. "catch" 블록의 괄호 안에는 처리할 예외의 타입을 지정할 수 있습니다. 위 코드에서는 모든 예외를 처리하는 "Exception" 클래스를 사용했습니다.
"try-catch"문은 프로그래밍에서 오류를 처리하는 방법 중 하나입니다. "try" 블록 안에는 예외가 발생할 가능성이 있는 코드가 포함되어 있으며, "catch" 블록 안에는 예외를 처리하는 코드가 포함되어 있습니다.
"try" 블록 안에서 예외가 발생하면, 프로그램은 즉시 "catch" 블록으로 이동합니다. "catch" 블록 안에서는 예외를 처리하고, 문제를 해결하거나 사용자에게 오류 메시지를 표시하는 등의 처리를 수행합니다. 이렇게 예외를 처리하면 프로그램이 중단되지 않고 계속 실행할 수 있습니다.
*예외 클래스
Java에서 try-catch 예외 처리 구문을 사용할 때, 다양한 예외 클래스를 처리할 수 있습니다. 일반적으로 예외 클래스는 다음과 같이 크게 두 가지로 분류됩니다.
-Checked Exception
Checked Exception은 컴파일 시점에서 확인할 수 있는 예외입니다.
컴파일러는 Checked Exception을 처리하도록 강제합니다.
예시: IOException, ClassNotFoundException, SQLException
-Unchecked Exception (Runtime Exception)
Unchecked Exception은 컴파일 시점에서 확인할 수 없는 예외입니다.
컴파일러가 강제하지 않으며, 개발자가 처리 여부를 결정할 수 있습니다.
예시: NullPointerException, ArrayIndexOutOfBoundsException, ArithmeticException
try-catch 구문에서 예외 클래스를 처리할 때는, 각 예외 클래스에 해당하는 catch 블록을 작성해야 합니다. 여러 개의 예외 클래스를 처리해야 할 경우, 각 예외 클래스에 해당하는 catch 블록을 연속적으로 작성하면 됩니다. 또는, '|' 연산자를 사용하여 여러 예외 클래스를 동시에 처리할 수도 있습니다.
*예외 클래스
-IOException: 입출력 작업 중 예외 발생
-ClassNotFoundException: 클래스를 찾을 수 없을 때 발생
-SQLException: 데이터베이스 관련 예외
-NullPointerException: null 객체를 참조할 때 발생
-ArrayIndexOutOfBoundsException: 배열 범위를 초과했을 때 발생
-ArithmeticException: 수학 연산 예외
-CertificateException: 인증서와 관련된 문제가 발생
-암호화 관련 문제 발생
-NoSuchAlgorithmException: 암호화와 관련된 문제가 발생
-NoSuchPaddingException: 지정한 패딩 모드가 존재하지 않는 경우
-IllegalBlockSizeException: 암호화할 데이터 블록의 크기가 올바르지 않은 경우
-BadPaddingException: 데이터를 암호화하거나 복호화하는 과정에서 데이터의 크기가 맞지 않거나 패딩이 잘못되었을 경우
-InvalidKeyException: 데이터를 암호화하거나 복호화하는 과정에서 잘못된 키(Key)를 사용한 경우