Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 Try Catch를 사용한 예외 처리

최고의 프로그래머도 코드에서 실수를 합니다. 오타, 예상치 못한 사용자 입력 또는 추적하기 어려운 기타 여러 가지 이유로 오류가 발생할 수 있습니다.

여기서 예외 처리가 필요합니다. 좋은 코드에는 미리 정의된 방식으로 코드의 오류에 응답하는 예외 처리기가 포함됩니다. 예외 처리기는 오류가 발생했을 때 응답하는 방법에 대해 프로그램에 지시하기 때문에 유용합니다.

자바에서 try...catch 블록은 예외 처리에 사용됩니다. 이 자습서에서는 예외 처리의 기본 사항, try...catch 사용 방법에 대해 설명합니다. 예외 처리를 위한 블록 및 finally 사용 방법 try...catch가 있는 문 . 또한 try...catch의 몇 가지 예를 살펴보겠습니다. 행동을 차단합니다.

자바 예외

예외는 프로그램이 실행될 때 발생하는 예기치 않은 이벤트입니다. 예외는 프로그램의 흐름을 방해하고 프로그램이 완료되기 전에 실행을 중지할 수 있습니다.

예외는 서버에 액세스할 수 없음, 코드 오류, 오타, 존재하지 않는 파일 열기, 잘못된 사용자 입력 등을 비롯한 다양한 이유로 발생합니다.

오류 메시지는 Java의 예외와 다릅니다. 오류는 메모리 부족과 같이 프로그램이 복구할 수 없는 조건을 나타냅니다. 따라서 오류는 일반적으로 개발자가 처리하지 않습니다.

그러나 예외는 처리할 수 있는 프로그램 내의 문제입니다. 예외가 발생하면 예외 개체라는 개체가 생성됩니다. . 이러한 개체에는 이름 및 프로그램에서 발생한 위치와 같은 예외에 대한 데이터가 포함되어 있습니다.

이제 Java에서 예외 처리의 기본 사항을 알았으므로 try...catch 사용을 시작할 수 있습니다. 이러한 예외를 처리하는 문.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

Catch Java 사용

try...catch 문은 Java에서 예외를 처리하는 데 사용됩니다. 예외를 처리하기 위해 코드 블록이 try_catch 내에 배치됩니다. 차단하다.

프로그램이 try_catch를 만나면 블록, try 내의 코드 블록이 실행됩니다. 예외가 발생하면 catch 내의 코드 블록이 즉시 실행됩니다. catch 블록은 try 다음에 와야 합니다. try..catch에서 차단 성명.

다음은 try_catch 구문입니다. 자바의 문장:

try {
	// Code to run
} catch (ExceptionType error) {
	// Code to run when exception is raised
} finally {
	// Code to run even if exception is not raised
}

finally에 대해 이야기하겠습니다. 이 튜토리얼의 뒷부분에서 차단하지만 당분간은 try_catch 차단하다. 이 코드 블록이 어떻게 작동하는지 설명하기 위해 예제를 살펴보겠습니다.

Catch Java 예제 시도

studentNames라는 배열을 사용하는 프로그램을 만들고 있다고 가정해 보겠습니다. . 학생 이름 배열의 다섯 번째 이름을 콘솔에 출력하려고 합니다. 그러나 우리 반에는 단 6명의 학생이 있습니다.

존재하지 않는 값을 참조하므로 코드에서 오류가 발생합니다. 다음은 인덱스 값이 5인 학생 이름을 출력하려는 ​​예제 프로그램입니다(인덱스 값이 0에서 시작하기 때문에 우리 반의 여섯 번째 학생).

class Main {
public static void main(String[] args) {
String[] studentNames = {"Linda", "Greg", "Ron", "Graham", "Alexis"};
System.out.println(studentNames[5]);
}

코드 반환:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
    at Main.main(Main.java:4)

보시다시피, 우리 프로그램은 존재하지 않는 값을 참조하려고 했기 때문에 긴 오류를 반환했습니다.

이제 try...catch를 사용해 보겠습니다. 우리의 오류를 처리하기 위해 차단합니다. 오류가 발생하면 프로그램은 "오류가 있었습니다"를 출력하여 무언가 잘못되었음을 알 수 있습니다. 다음 코드를 사용하여 이 작업을 수행할 수 있습니다.

class Main {
public static void main(String[] args) {
	try {
String[] studentNames = {"Linda", "Greg", "Ron", "Graham", "Alexis"};
System.out.println(studentNames[5]);
} catch (Exception e) {
	System.out.println("There was an error.");
		}
}

이제 코드를 실행하면 다음 응답이 반환됩니다.

There was an error.

또한 여러 catch를 지정할 수 있습니다. 블록. 이는 각 예외를 다르게 처리할 수 있기 때문에 유용합니다.

위의 예에서 ArrayIndexOutOfBoundsException 제기되었다. 해당 오류를 구체적으로 테스트하고 콘솔에 사용자 정의 메시지를 인쇄하고 기타 일반 예외를 테스트하려면 여러 catch 문을 사용할 수 있습니다.

다음은 ArrayIndexOutOfBoundsException에 대해 테스트하는 프로그램의 예입니다. 일반 예외 및 각 오류에 대한 사용자 정의 응답이 있습니다.

class Main {
public static void main(String[] args) {
	try {
String[] studentNames = {"Linda", "Greg", "Ron", "Graham", "Alexis"};
System.out.println(studentNames[5]);
} catch (ArrayIndexOutOfBoundsException e) {
	System.out.println("ArrayIndexOutOfBoundsException was raised.");
} catch (Exception e) {
	System.out.println("There was an error.");
		}
}
}

이제 프로그램을 실행하면 콘솔에 다음 메시지가 출력됩니다.

ArrayIndexOutOfBoundsException was raised.

이 응답은 ArrayIndexOutOfBoundsException 때문에 반환됩니다. 우리 프로그램에서 제기되었습니다. 그러나 다른 오류가 발생한 경우 Exception e의 코드는 catch 블록이 실행되고 다음 메시지가 콘솔에 인쇄됩니다.

There was an error.

최종 성명서

finally 문은 try...catch 다음에 코드 블록을 실행하는 데 사용됩니다. 블록이 실행되었습니다. finally 블록은 선택 사항이며 정의된 경우 항상 실행됩니다. 예외가 발생하지 않으면 finally 블록은 try 블록 다음에 실행됩니다. 예외가 발생하면 catch 이후에 실행됩니다. 차단하다.

위의 예제를 사용하여 finally 문을 실제로 사용하는 방법을 살펴보겠습니다. This block has finished executing라는 메시지가 콘솔에 출력되기를 원한다고 가정해 보겠습니다. . try_catch 진술이 완료되었습니다. 다음 코드를 사용해 볼 수 있습니다.

class Main {
public static void main(String[] args) {
	try {
String[] studentNames = {"Linda", "Greg", "Ron", "Graham", "Alexis"};
System.out.println(studentNames[5]);
} catch (ArrayIndexOutOfBoundsException e) {
	System.out.println("ArrayIndexOutOfBoundsException was raised.");
} catch (Exception e) {
	System.out.println("There was an error.");
		} finally {
			System.out.println("This block of code has finished executing.");
		}
}
}

코드를 실행하면 다음 응답이 반환됩니다.

ArrayIndexOutOfBoundsException was raised.

이 코드 블록은 실행을 완료했습니다.

보시다시피 우리 코드는 ArrayIndexOutOfBoundsException을 발생시켰습니다. 예외는 위에서 본 것처럼 관련 catch 내에서 코드를 실행했습니다. 차단하다.

위의 예에서 finally를 지정했습니다. 성명. 따라서 우리 코드는 This block of code has finished executing 메시지를 출력했습니다. . catch 후 블록이 실행되었습니다.

결론

try...catch 블록은 예외를 정상적으로 처리하기 위해 Java에서 사용됩니다. try 내의 코드 블록이 실행되고 예외가 발생하면 관련 catch 내의 코드 블록이 실행됩니다. 또한 finally 문은 try...catch 다음에 코드를 실행하는 데 사용됩니다. 예외가 발생하지 않았더라도 블록이 실행되었습니다.

이 자습서에서는 try...catch를 사용하는 방법에 대해 설명했습니다. Java에서 예외를 처리하는 블록 및 Java finally 사용 방법 차단하다. 또한 try...catch 블록 및 finally 오류를 처리하는 데 사용되는 명령문.

이제 Java에서 자신 있게 예외를 처리하는 데 필요한 정보를 갖추었습니다!