자바에서 예외 처리기 란 무엇입니까?

Java에서 예외는 프로그램의 제어 흐름을 제어하는 ​​많은 구조 중 하나입니다. 특히 프로그램의 정상적인 실행으로 인한 의도하지 않은 부작용입니다. 예외가 발생할 수있는 코드를 작성할 때 프로그래머는 예외가 발생하면 프로그램에 대한 새로운 명령어를 정의해야합니다. 프로세스는 "예외 처리"라고합니다. 예외 핸들러는 try, catch 및 finally의 세 가지 블록으로 구성됩니다.

자바 예외

프로그램이 예기치 않은 방식으로 동작하는 메서드를 호출하면 "예외"가 발생했다고합니다. 예를 들어 프로그램이 숫자를 0으로 나누거나 존재하지 않는 파일을로드하려고하면 프로그램이 예상대로 작동하지 않고 예외를 throw하여이 오류를 알립니다. 메서드가 메서드 본문에 예외를 throw하도록 정의 된 경우에는 예외 처리기 내에서만 예외를 호출하거나 예외를 발생시키는 메서드가 동일한 예외를 throw하는 것으로 선언하여 트리에서 오류를 전달할 수 있습니다.

블록 시도

성공적인 예외 처리기에서 예외를 throw하는 메서드는 "try {exceptionThrowingMethod ();}"와 같이 "try"블록에 포함되어야합니다. try 블록이 정의 된 후 프로그래머는 예외 메서드를 catch하는 catch 블록을 정의합니다 try 블록 throw에 포함되어 있습니다.

블록 잡기

단일 try 블록은 예외가 발생할 때 여러 동작을 정의하는 여러 "catch"블록을 가질 수 있습니다. 프로그램이 여러 catch 블록에 정의 된 예외를 발견하면 먼저 최상위 catch 블록을 실행합니다. 모든 예외가 예외 클래스에서 파생되므로 첫 번째 catch 블록이 "catch (Exception e) {}"라고 읽으면 예외가 발생하면 프로그램은 항상 해당 블록을 실행하고 다른 블록은 절대 실행하지 않습니다. 프로그램을 세부적으로 제어하려는 경우 catch 블록을 가장 구체적인 것으로부터 가장 구체적인 것으로 배열하십시오.

마지막으로 블록

"finally"블록은 예외 처리기의 선택적 구성 요소입니다. 예외가 발생하더라도 항상 실행해야하는 동작을 정의 할 때 사용합니다. 일부 경우 try 블록의 마지막 부분이 실행되는 것을 보장 할 수 없으므로 필요합니다. 예외가 throw되어 catch되면 해당 블록이 중단됩니다. 예를 들어, finally 블록에 "InputStream.close ()"를 배치하면 코드 앞부분에서 던져진 예외에 관계없이 스트림이 안전하게 닫히게됩니다.

인기 게시물