자바 이상 처리 메커니즘 try catch 프로 세 스 상세 설명

프로젝트 에서 try..catch..문 구 를 만 났 습 니 다.자바 이상 처리 체제 의 절차 에 대해 잘 모 르 기 때문에 관련 논리 코드 에 대해 이해 하지 못 합 니 다.그래서 자바 이상 처리 메커니즘 의 처리 절 차 를 정리 하 겠 습 니 다.
1.이상 처리 메커니즘 은 다음 과 같 습 니 다.방법 에서 try..catch..문 구 를 사용 하여 이상 을 포착 하고 처리 합 니 다.catch 문 구 는 여러 가지 유형 에 맞 는 이상 을 가 질 수 있 습 니 다.처리 할 수 없 는 이상 이나 전환 할 이상 에 대해 서 는 방법의 성명 에서 throws 를 통 해 이상 을 설명 하고 throw 문 구 를 통 해 이상 을 발생 시 킵 니 다.즉,상부 의 호출 방법 으로 이 이상 을 처리 합 니 다.

try {
       
} catch(ExceptionType1 e) {
       1
} catch (ExceptionType2 e) {
       2
  throw(e);  //      "  "
}
2.Exception 은 프로그램 이 정상적으로 실행 되 는 과정 에서 예상 할 수 있 는 의외 의 상황 이 며 개발 자 에 게 포착 되 어 해당 하 는 처 리 를 해 야 합 니 다.
Exception 은 두 가지 방식 으로 나타 날 수 있 습 니 다.
첫째,프로그램 이 컴 파일 되 거나 실 행 될 때 이상 이 발생 하 는 것 은 프로그램 에 의 해 던 져 지고 사용자 가 주동 적 으로 이상 을 던 지지 않 는 것 이다.둘째,사용자 가 자발적으로 이상 을 던 지고 throw 키 워드 를 사용 하여 이상 을 던 집 니 다.이 이상 은 업무 논리의 이상 일 수 있다.

try {
  //          
} catch(ExceptionType e) {
  //       
}
3.실행 절차
try 구문 블록 에 이상 이 발생 했 습 니 다.
try 구문 블록 에 이상 이 발생 하면 프로그램 은 해당 하 는 이상 대상 을 던 지고 catch 문 구 는 이 이상 을 포착 하여 처리 합 니 다.
메모:try 구문 블록 의 두 번 째 문장 에 이상 이 발생 하면 두 번 째 문장 이후 의 문 구 는 실행 되 지 않 고 catch 구문 블록 으로 이동 하여 실행 합 니 다.catch 구문 블록 의 내용 을 처리 하면 catch 구문 블록 뒤의 내용 을 실행 합 니 다.
try 구문 블록 에 이상 이 발생 하지 않 았 습 니 다.
try 구문 블록 에 이상 이 없 으 면 try 구문 블록 의 내용 은 위 에서 아래로 순서대로 실 행 됩 니 다.그리고 catch 구문 블록 은 모두 건 너 뛰 고 catch 구문 블록 뒤의 내용 을 실행 합 니 다.

밤 을 들다

public class ExceptionTest {
  public static void main(String[] args) {
 
    for (int i = 0; i < 3; i++) {
      String message = "";
      int a = 0;
      try{
        if (i == 1){
          throw new Exception("  ");
        }
        message = "  ";
        a= 123;
      }catch (Exception e){
        message = e.getMessage();
      }
      System.out.println( "i   " + i);
 
      System.out.println(message );
      System.out.println("a = " + a+ "
"); } } } 
출력 결과 분석:
i=2 가 있 을 때 사용자 가 자발적으로 이상 을 던 지면 message='정확 함'을 볼 수 있 습 니 다.a =123;의 할당 문 구 는 실행 되 지 않 았 습 니 다.catch 구문 블록 에 들 어간 다음 catch 구문 블록 이후 의 내용 message=e.getMessage()를 실행 합 니 다.여기 message="오류",throw new Exception("오류");이상 을 던 질 때 message 를'오류'로 할당 합 니 다.
메시지="오류"
a = 0
출력 결과
i 는 0
정확 하 다.
a = 123
i 는 1 과 같다.
정확 하 다.
a = 123
i 는 2
잘못
a = 0
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기