>Java >java지도 시간 >'N/A' 문자열을 구문 분석할 때 `java.lang.NumberFormatException`을 방지하는 방법은 무엇입니까?

'N/A' 문자열을 구문 분석할 때 `java.lang.NumberFormatException`을 방지하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-05 22:30:12777검색

How to Avoid `java.lang.NumberFormatException` When Parsing

"N/A" 문자열 구문 분석 시 java.lang.NumberFormatException 방지

숫자 문자열을 구문 분석하려고 할 때 다음 사항을 확인하는 것이 중요합니다. NumberFormatException을 방지하기 위한 유효성입니다. 정수로 변환할 수 없는 "N/A" 문자열이 발견되면 일반적인 문제가 발생합니다.

예외 개요:

잘못된 문자열이 있을 때 NumberFormatException이 발생합니다. 정수(Integer.parseInt)와 같은 특정 숫자 유형으로 구문 분석하려고 시도합니다. 다음 스택 추적에서 볼 수 있듯이 "N/A"는 유효한 정수 표현이 아니기 때문에 이 예외가 발생합니다.

예방 전략:

이를 방지하려면 예외인 경우 다음 기술 중 하나를 구현할 수 있습니다.

예외 처리:

이 접근 방식에는 NumberFormatException이 포착되어 적절하게 처리되는 try-catch 블록 내에서 구문 분석 작업을 래핑하는 작업이 포함됩니다. 예는 다음과 같습니다.

try {
    int i = Integer.parseInt(input);
} catch (NumberFormatException ex) {
    // Handle the exception here (e.g., log it, display an error message)
}

정수 패턴 일치:

또는 정규 표현식을 사용하여 시도하기 전에 문자열이 예상 정수 형식과 일치하는지 확인할 수 있습니다. 그것을 분석하십시오. 다음은 간단한 예입니다.

String pattern = "-?\d+";
if (input.matches(pattern)) {
    int i = Integer.parseInt(input);
} else {
    // Handle non-integer string
}

이 접근 방식에서 패턴은 유효한 정수 표현을 정의하며, 입력 문자열이 이 패턴을 따르지 않는 경우 별도로 처리할 수 있습니다.

이러한 전략 중 하나를 구현하면 코드가 "N/A"와 같은 정수가 아닌 문자열을 적절하게 처리하여 NumberFormatException이 실행을 중단하는 것을 방지할 수 있습니다.

위 내용은 'N/A' 문자열을 구문 분석할 때 `java.lang.NumberFormatException`을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.