ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 Try Catch 블럭 사용하기
    프로그래밍 JAVA 2020. 8. 12. 21:08

    최종 블록의 코드는 다음 사항에 관계없이 모든 상황에서 실행된다.

     

    예외는 try block에서 발생하거나 잡힌다. 가능한 세 가지 경우를 고려하십시오.

     

    try block에서 예외가 발생하지 않을 경우 finalStatements가 실행되며,

    try 문 실행 후 다음 문장.

    문장이 try block에서 예외를 발생시켜 catch block에 걸리는 경우

     

    try block의 나머지 문장은 생략하고, catch block을 실행하며,

     

    최종 조항이 실행되다 시도 명령문이 실행된 후 다음 명령문.

    문구 중 하나가 캐치 블록에 걸리지 않는 예외를 발생시킨 경우

     

    try block의 다른 문장은 생략하고, 최종 조항은 실행된다.

    그리고 예외는 이 방법의 호출자에게 전달된다.

    최종 블록은 에 도달하기 전에 리턴 문장이 있는 경우에도 실행된다.

     

    마침내 막다

    참고

     

    최종 조항을 사용할 때 캐치 블록을 생략할 수 있다.

    최종 조항의 일반적인 용도는 I/O 프로그래밍에 있다. 파일을 저장하려면 다음과 같이 하십시오.

    모든 경우에 닫히므로, 파일 닫힘 문구를 다음 위치에 두십시오.

     

    마침내 막다 텍스트 I/O는 이 장의 뒷부분에 소개될 것이다.

    14.21 이 문장이 다음 문장에서 예외를 발생시킨다고 가정한다.

    {을 시험해 보다.

    문장1;

    문장3;

    }

    캐치(except1 ex1) {

     

    }

    마침내 {

    문장4;

    }

    문장5;

    다음 질문에 답하십시오.

    예외가 발생하지 않을 경우 문장4가 실행되며 문장5가 실행됨

     

    처형된 건가?

    예외가 Exception1 유형인 경우 문장4가 실행되며

    문장5가 실행되나?

    예외가 Exception1 유형이 아닌 경우 문장4가 실행되며

    문장5가 실행될 것인가?

     

    14.6 예외 사용 시기

    메소드는 호출자가 오류를 처리해야 할 경우 예외를 두어야 한다.

    try block은 정상적인 상황에서 실행되는 코드를 포함하고 있다. 캐치블록

    예외적인 상황에서 실행되는 코드를 포함한다. 예외 처리 구분

     

    일반 프로그래밍 작업의 오류 처리 코드를 사용하여 프로그램을 읽기 쉽게 함

    문장2;

     

    캐치 블록 제외

    포인트

     

    수표

    포인트

    536 14장 예외 처리 및 텍스트 I/O

    그리고 수정하기 위해서. 그러나 예외 처리에는 일반적으로 더 많은 시간이 필요하며

    리소스, 새로운 예외 객체를 인스턴스화하고 콜 스택을 롤백해야 하기 때문에

     

    처리기를 검색하기 위해 호출된 일련의 메서드를 통해 예외를 전파하는 것.

    어떤 방법에서는 예외가 발생한다. 호출자가 예외를 처리하려면

     

    예외 객체를 만들어 버려야 한다. 다음에서 예외를 처리할 수 있는 경우

    발생 시 예외를 발생시키거나 사용할 필요가 없다.

    일반적으로 프로젝트의 여러 클래스에서 발생할 수 있는 일반적인 예외는 예외 클래스

     

    의 후보자들이다. 개별적인 방법에서 발생할 수 있는 간단한 오류는 예외를 두지 않고 처리하는 것이 가장 좋다. 이는 if 문구를 사용하여 확인할 수 있다.

    오류들

    코드에서 try-catch block을 언제 사용해야 하는가? 상대해야 할 때 쓰세요.

     

    예기치 않은 오류 조건 단순하고 예상된 상황을 처리하기 위해 시도 블록을 사용하지 마십시오. 예를 들어, 다음 코드

    {을 시험해 보다.

     

    System.out.println(refVar.toString();

    }

    캐치(NullPointer)예외 ex) {

    System.out.println("refVar is null");

    }

    으로 대체하는 것이 낫다.

     

    if (refVar != null)

    System.out.println(refVar.toString();

     

    다른

    System.out.println("refVar is null");

     

    어떤 상황이 예외적이고 어떤 상황이 예상되는지는 때때로 결정하기 어렵다. The

    요점은 예외 처리를 단순한 논리 테스트에 대처하는 방법으로 남용하지 않는 것이다.

    14.22 다음 방법은 문자열이 숫자 문자열인지 여부를 점검한다.

    공용 정적 부울 isNumeric(String 토큰) {

     

    {을 시험해 보다.

    Double.parseDouble(토큰);

    참으로 돌아가다;

    }

    잡히다NumberFormatException ex) {

    거짓으로 돌려보내다.

    }

    }

    맞나? 예외 없이 다시 쓰세요.

    14.7 예외 재구현

     

    Java는 예외 처리기가 예외를 다시 발생시킬 수 없는 경우 예외 처리기를 허용한다.

    예외를 처리하거나 발신자에게 예외를 통지하고 싶을 뿐이다.

     

    예외를 다시 던지기 위한 구문은 다음과 같이 보일 수 있다.

    {을 시험해 보다.

    진술,

    }

     

    캐치(TheException ex) {

    포인트

    수표

    포인트

    14.8 체인 예외 537

    퇴장하기 전에 작업을 수행한다.

    }

    명령문 던지기 ex는 호출자에게 예외를 다시 전달하므로

    전화를 건 사람은 예외를 처리할 기회를 얻는다.

    14.23 이 문장이 다음 문장에서 예외를 발생시킨다고 가정한다.

    {을 시험해 보다.

     

    문장1;

    문장3;

    }

    캐치(except1 ex1) {

    }

    캐치(except2 ex2) {

    ex2;

    }

     

    마침내 {

    문장4;

    }

    문장5;

    다음 질문에 답하십시오.

    예외가 발생하지 않을 경우 문장4가 실행되며 문장5가 실행됨

    처형된 건가?

    예외가 Exception1 유형인 경우 문장4가 실행되며

     

    문장5가 실행되나?

    예외가 Exception2 유형인 경우 문장4가 실행되며

    문장5가 실행되나?

    Exc가 아닌 경우

    댓글

Designed by Tistory.