Java 비정상 처리에서의 단언 사용 분석

1950 단어 Java단언
단언적 개념
단언은 증명과 테스트 프로그램의 가설에 사용된다. 예를 들어 "여기 값이 5보다 크다".
단언은 실행할 때 코드에서 완전히 삭제할 수 있기 때문에 코드의 운행 속도에 영향을 주지 않는다.
단언적 사용
단언에는 두 가지 방법이 있다.
하나는 assert<부울 표현식>;
다른 하나는 assert<부울 표현식>:<디테일 설명>입니다.
부울 표현식의 값이false이면 AssertionError 이상이 발생합니다.자세한 설명은 AssertionError 예외 설명 텍스트로 javac Csource 1.4 MyClass를 사용합니다.java의 컴파일 방식은 다음과 같습니다.

public class AssertExample {
  public static void main(String[] args) {
    int x = 10;
    if (args.length > 0) {
      try {
        x = Integer.parseInt(args[0]);
      } catch (NumberFormatException nfe) {
        /* Ignore */
      }
    }
    System.out.println("Testing assertion that x == 10");
    assert x == 10 : "Our assertion failed";
    System.out.println("Test passed");
  }
}
새로운 키워드를 도입했기 때문에 컴파일할 때 추가 파라미터를 추가해야 합니다. 컴파일이 성공하려면 JDK1.4의javac를 사용하고 파라미터'-source1.4'를 추가해야 합니다. 예를 들어 아래의 명령을 사용하여 위의 코드를 컴파일할 수 있습니다.
  

 javac -source 1.4 AssertExample.java
위의 프로그램이 실행될 때 단언 기능을 사용하려면 추가 매개 변수를 사용해야 합니다. 예를 들어 다음과 같습니다.

  java -ea AssertExample 1
프로그램의 출력은 다음과 같습니다.

Testing assertion that x == 10
Exception in thread "main" java.lang.AssertionError:Our assertion failed
at AssertExample.main(AssertExample.java:20)
입력한 파라미터가 10과 같지 않기 때문에 단언 기능은 프로그램이 실행할 때 단언 오류를 내보냅니다. 주의는 오류입니다. 이것은 프로그램에 심각한 오류가 발생하고 강제로 종료된다는 것을 의미합니다.단언은 boolean 값을 사용합니다. 만약true가 아니라면 AssertionError를 던져 프로그램의 실행을 종료합니다.
단언 추천 사용 방법
검증 방법에 사용되는 내부 논리:
  • 내적 불변식
  • 제어 프로세스 불변식
  • 후치 조건과 유형 불변식
  • 주의: 공유 방법 내의 선행 조건에 대한 검사는 추천하지 않습니다.
    실행 시 단언 차단
    실행 시 단언을 차단하려면 다음과 같이 하십시오.
    java Cdisableassertions 또는 java Cda 클래스 이름
    실행 시 단언을 허용하려면 다음과 같이 하십시오.
    java Cenableassertions 또는 java Cea 클래스 이름

    좋은 웹페이지 즐겨찾기