logo

Java Try Catch 블록

자바에서는 예외 프로그램 실행 중에 발생하는 원치 않거나 예상치 못한 이벤트입니다. 예외가 발생하면 프로그램 실행이 종료됩니다. 이러한 종료 ​​조건을 방지하려면 Java에서 try catch 블록을 사용할 수 있습니다. 이번 글에서는 Java의 Try, catch, Throw 및 Throw에 대해 알아봅니다.

예외가 발생하는 이유는 무엇입니까?

네트워크 연결 문제, 사용자의 잘못된 입력, 프로그램에 존재하지 않는 파일 열기 등 여러 가지 이유로 인해 예외가 발생할 수 있습니다.

예외 처리에 사용되는 블록 및 키워드

1. 자바로 시도해 보세요

그만큼 노력하다 블록에는 예외가 발생할 수 있는 일련의 명령문이 포함되어 있습니다.



try {  // statement(s) that might cause exception }>

2. 자바로 잡기

catch 블록은 try 블록의 불확실한 조건을 처리하는 데 사용됩니다. try 블록 뒤에는 항상 연관된 try 블록에서 발생하는 예외를 처리하는 catch 블록이 옵니다.

catch {  // statement(s) that handle an exception  // examples, closing a connection, closing  // file, exiting the process after writing  // details to a log file. }>

삼. 자바를 던져라

throw 키워드는 try 블록에서 catch 블록으로 제어를 전송하는 데 사용됩니다.

다음은 위의 접근 방식을 구현한 것입니다.

자바




// Java program that demonstrates the use of throw> class> ThrowExcep {> >static> void> help()> >{> >try> {> >throw> new> NullPointerException(>'error_unknown'>);> >}> >catch> (NullPointerException e) {> >System.out.println(>'Caught inside help().'>);> >// rethrowing the exception> >throw> e;> >}> >}> >public> static> void> main(String args[])> >{> >try> {> >help();> >}> >catch> (NullPointerException e) {> >System.out.println(> >'Caught in main error name given below:'>);> >System.out.println(e);> >}> >}> }>

설정 메뉴 안드로이드
>

>

산출

삽입 파이썬
Caught inside help(). Caught in main error name given below: java.lang.NullPointerException: error_unknown>

4. Java에서 던집니다.

그만큼 던진다 키워드는 try & catch 블록 없이 예외 처리에 사용됩니다. 메서드가 호출자에게 던질 수 있고 자체적으로 처리하지 않는 예외를 지정합니다.

다음은 위의 접근 방식을 구현한 것입니다.

자바




// Java program to demonstrate working of throws> class> ThrowsExecp {> >// This method throws an exception> >// to be handled> >// by caller or caller> >// of caller and so on.> >static> void> fun()>throws> IllegalAccessException> >{> >System.out.println('Inside fun(). ');> >throw> new> IllegalAccessException('demo');> >}> >// This is a caller function> >public> static> void> main(String args[])> >{> >try> {> >fun();> >}> >catch> (IllegalAccessException e) {> >System.out.println('caught in main.');> >}> >}> }>

>

>

산출

Inside fun(). caught in main.>

5. 드디어 자바로

catch 블록 다음에 실행됩니다. 여러 개의 catch 블록이 있는 경우 이를 사용하여 일부 공통 코드(예외 발생 여부에 관계없이 실행됨)를 넣습니다.

시스템에서 생성된 예외의 예는 다음과 같습니다.

배우 사이 팔라비
Exception in thread 'main'    java.lang.ArithmeticException  : divide  by zero at   ExceptionDemo.main(ExceptionDemo.java:5)  ExceptionDemo: The class name main:The method name  ExceptionDemo.java:The file name java:5:line number>

다음은 위의 접근 방식을 구현한 것입니다.

자바




// Java program to demonstrate working of try,> // catch and finally> class> Division {> >public> static> void> main(String[] args)> >{> >int> a =>10>, b =>5>, c =>5>, result;> >try> {> >result = a / (b - c);> >System.out.println('result' + result);> >}> >catch> (ArithmeticException e) {> >System.out.println('Exception caught:Division by zero');> >}> >finally> {> >System.out.println('I am in>final> block');> >}> >}> }>

>

>

산출

Exception caught:Division by zero I am in final block>

Java의 Try Block에 대한 FAQ

1. try catch 블록은 언제 사용해야 합니까?

Try catch 블록은 전체 실행 전에 코드가 중단되지 않도록 예외를 방지하는 데 사용됩니다.

2. Java에서 던지기(throw)와 던지기(throw)란 무엇입니까?

throw는 try 블록에서 catch 블록으로 제어를 전송하는 데 사용됩니다. throws는 try & catch 블록 없이 예외 처리에 사용됩니다. Throw는 메소드가 호출자에게 던질 수 있고 자체적으로 처리하지 않는 예외를 지정합니다.

3. 두 개의 캐치 블록을 가질 수 있나요?

예, try 문을 사용하여 여러 개의 catch 블록을 가질 수 있습니다.