프로그램이 예외를 포착 하여 오류를 처리할 준비가 되어 있지 않으면 어떻게 해야 합니까? 우리는 단언문을 사용하여 이 문제를 해결할 수 있습니다.
어설션 문은 코드 디버깅 단계에서 매우 유용하며 일반적으로 프로그램이 예외를 포착하여 처리할 준비가 되지 않은 오류에 사용됩니다.
예를 들어, 계좌를 거래했는데 지출 금액이 양수이거나 수입 금액이 음수인 경우 등 오류가 발생하면 프로그램은 즉시 실행을 중지해야 합니다. 디버깅 코드 단계에서 주장문이 작동하도록 하여 몇 가지 치명적인 오류를 찾을 수 있습니다. 프로그램이 공식적으로 실행될 때 주장문을 끌 수 있지만 애플리케이션에 필요한 경우 여전히 주장문을 유지합니다. 나중에 다시 디버깅하려면 어설션 문을 다시 활성화하면 됩니다.
주장문을 선언하기 위해 키워드 주장을 사용합니다. 주장문은 다음 두 가지 형식을 갖습니다.
AssertbooleanExpression;//부울 유형으로 평가되는 표현식 AssertbooleanExpression:messageException;//문자열 유형으로 평가되는 표현식
값이 true이면 프로그램 실행은 어설션 문에서 계속됩니다.
값이 false이면 프로그램 실행이 어설션 문에서 중지됩니다.
값이 true이면 프로그램 실행은 어설션 문에서 계속됩니다.
값이 false이면 프로그램은 어설션 문의 실행을 중지하고 messageException 표현식의 값을 출력하여 사용자에게 어떤 문제가 발생했는지 알려줍니다.
예를 들어 주장문의 경우 다음과 같습니다.
주장>=0;
i >= 0 표현식의 값이 true이면 프로그램은 실행을 계속하고, i >= 0 표현식의 값이 false이면 프로그램은 즉시 실행을 종료합니다.
Java 인터프리터를 사용하여 애플리케이션을 직접 실행할 때 어설션 문은 기본적으로 꺼집니다. 예를 들어 프로그램을 디버깅할 때 -ea를 사용하여 어설션 문을 활성화할 수 있습니다.
자바-eamainclass
예를 들어:
publicclassMain{publicstaticvoidmain(String[]args){int[]score={-120,98,96,94,92};intsum=0;for(intnumber:score){//배열을 순회하려면 for를 사용하십시오.assertnumber>= 0: 음수는 성적이 될 수 없습니다;sum=sum+number;}System.out.println(total Score:+sum);}}
실행 결과는 다음과 같습니다.
총점: 260