어설션을 사용하면 프로그램에서 이루어진 모든 가정의 정확성을 테스트할 수 있습니다. 어설션은 다음을 사용하여 달성됩니다. 주장하다 Java의 진술. 어설션을 실행하는 동안 해당 내용이 참인 것으로 간주됩니다. 실패하면 JVM은 다음과 같은 오류를 발생시킵니다. 어설션 오류. 주로 개발 중 테스트 목적으로 사용됩니다.
그만큼 주장하다 문은 부울 표현식과 함께 사용되며 다음과 같이 작성할 수 있습니다. 두 가지 다른 방법 .
첫 번째 방법:
assert expression;>
두 번째 방법:
assert expression1 : expression2;>
예:
파이썬에서 s는 무엇입니까?
자바
// Java program to demonstrate syntax of assertion> import> java.util.Scanner;> class> Test {> > public> static> void> main(String args[])> > {> > int> value => 15> ;> > assert> value>=> 20> :> ' Underweight'> ;> > System.out.println(> 'value is '> + value);> > }> }> |
>
>산출
value is 15>
어설션을 활성화한 후:
산출:
Exception in thread 'main' java.lang.AssertionError: Underweight>
어설션 활성화
기본적으로 어설션은 비활성화되어 있습니다. 주어진 대로 코드를 실행해야 합니다. Java 소스 코드에서 어설션 문을 활성화하는 구문은 다음과 같습니다.
java –ea Test>
또는
java –enableassertions Test>
여기서 Test는 파일 이름입니다.
자바 상수
어설션 비활성화
Java에서 어설션을 비활성화하는 구문은 다음과 같습니다.
java –da Test>
또는
java –disableassertions Test>
여기서 Test는 파일 이름입니다.
어설션을 사용하는 이유
프로그래머가 자신의 가정이 틀렸는지 아닌지 확인하고 싶은 곳 어디든 가능합니다.
- 도달할 수 없는 것처럼 보이는 코드가 실제로 도달할 수 없는지 확인합니다.
- 댓글에 작성된 가정이 올바른지 확인합니다.
if ((x & 1) == 1) { } else // x must be even { assert (x % 2 == 0); }>
- 기본 스위치 케이스에 도달하지 않았는지 확인합니다.
- 객체의 상태를 확인합니다.
- 방법의 시작 부분에
- 메소드 호출 후.
어설션과 일반 예외 처리
어설션은 주로 논리적으로 불가능한 상황을 확인하는 데 사용됩니다. 예를 들어, 코드가 실행되기 전에 예상되는 상태나 실행이 완료된 후의 상태를 확인하는 데 사용할 수 있습니다. 일반적인 예외/오류 처리와 달리 어설션은 일반적으로 런타임 시 비활성화됩니다.
어설션을 사용하는 위치
- 개인 메소드에 대한 인수입니다. 비공개 인수는 개발자의 코드에서만 제공되며 개발자는 인수에 대한 가정을 확인하고 싶을 수도 있습니다.
- 조건부 사례.
- 모든 메소드의 시작 부분에 있는 조건입니다.
어설션을 사용하지 말아야 할 경우
- 오류 메시지를 대체하는 데 어설션을 사용해서는 안 됩니다.
- 사용자가 제공할 수 있는 공용 메서드의 인수를 확인하는 데 어설션을 사용하면 안 됩니다. 사용자가 제공한 오류를 처리하려면 오류 처리를 사용해야 합니다.
- 명령줄 인수에는 어설션을 사용하면 안 됩니다.
예:
자바
디렉토리 이름 변경 리눅스
// Java program to demonstrate assertion in Java> public> class> Example {> > public> static> void> main(String[] args)> > {> > int> age => 14> ;> > assert> age <=> 18> :> 'Cannot Vote'> ;> > System.out.println(> 'The voter's age is '> + age);> > }> }> |
>
>산출
The voter's age is 14>