Java 산술 예외는 런타임 시 코드에서 잘못된 산술 또는 수학적 연산이 발생할 때 발생하는 일종의 확인되지 않은 오류 또는 코드의 비정상적인 결과입니다. 예외라고도 알려진 런타임 문제는 분모가 정수 0이고 JVM이 결과를 평가할 수 없어 프로그램 실행이 종료되고 예외가 발생하는 경우 발생합니다. 예외가 발생한 시점에서 프로그램이 종료되지만 그 이전의 코드가 실행되어 결과가 표시됩니다.
Java 산술 예외의 기본 클래스는 java.lang.RuntimeException 아래에 있는 lang.ArithmeticException입니다.
광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
기본 클래스 ArithmeticException의 구조:
1. ArithmeticException(): 매개변수가 전달되지 않거나 자세한 메시지가 없는 산술 예외를 정의합니다.
2. ArithmeticException(String s): 하나의 매개변수가 전달된 ArithmeticException을 정의합니다.
s:s는 자세한 메시지입니다
다음은 Java ArithmeticException이 발생할 수 있는 두 가지 상황입니다.
숫자를 0으로 나누려고 하면 Java에서 산술 예외가 발생합니다. 다음은 작업을 설명하는 Java 코드입니다.
코드:
package com.java.exception; public class ArithmeticException { void division(int a,int b) { int c=a/b; System.out.println("Division has been successfully done"); System.out.println("Value after division: "+c); } public static void main(String[] args) { ArithmeticException ex=new ArithmeticException(); ex.division(10,0); } }
출력:
10을 0으로 나누었기 때문에 0은 정수이고 정의되지 않았으므로 위의 산술 예외가 발생합니다.
코드:
//package com.java.exception; public class ArithmeticException { void division(int a,int b) { int c=a/b; System.out.println("Division of a number is successful"); System.out.println("Output of division: "+c); } public static void main(String[] args) { ArithmeticException ex=new ArithmeticException(); ex.division(10,5); } }
출력:
Java에는 최대 소수점 이하의 정밀도 자릿수를 나타내는 BigDecimal 클래스가 있습니다. 이 Java 클래스에는 정수, double 및 float와 같은 기본 데이터 유형에서 사용할 수 없는 일부 기능 세트도 있습니다. 이러한 기능은 소수점 이하 자릿수를 제공합니다
아래는 예시용 코드입니다.
코드:
//package com.java.exception; import java.math.BigDecimal; public class ArithmeticException { public static void main(String[] args) { BigDecimal a=new BigDecimal(1); BigDecimal b=new BigDecimal(6); a=a.divide(b); System.out.println(a.toString()); } }
출력:
위에 작성된 Java 코드에서 큰 소수 클래스는 나눗셈 출력으로 무엇을 해야 할지 모르기 때문에 출력 콘솔에 산술 예외를 던지거나 표시합니다.
"비종료 소수점 확장, 정확한 표현 없음"이라는 자세한 메시지와 함께 예외가 발생합니다.
위의 큰 소수 클래스에 대한 한 가지 가능한 방법은 큰 소수에서 필요한 소수 자릿수를 명시한 다음 값을 명확한 소수 자릿수로 제한하는 것입니다. 예를 들어, c는 숫자를 7번째 소수 정밀도 값
까지 반올림하여 소수점 이하 7자리로 제한해야 합니다.코드:
//package co.java.exception; import java.math.BigDecimal; public class ArithmeticException { public static void main(String[] args) { BigDecimal a=new BigDecimal(1); BigDecimal b=new BigDecimal(6); a=a.divide(b,7,BigDecimal.ROUND_DOWN);// limit of decimal place System.out.println(a.toString()); } }
출력:
출력 콘솔에는 결과가 7번째 소수점 값이 있는 숫자로 표시됩니다. 이는 반올림이 제대로 작동함을 의미합니다.
Java Virtual Machine에서 발생한 예외를 처리하는 것을 예외 처리라고 합니다. 예외 처리의 장점은 코드 실행이 중단되지 않는다는 것입니다.
try와 catch의 조합을 사용하여 예외를 처리합니다. 예외를 생성할 수 있는 코드에는 try/catch 블록이 배치됩니다. try/catch 블록 안에 작성된 코드를 보호된 코드라고 합니다.
구문:
try { set of statements//protected code } catch (exceptionname except) { // Catch set of statements---can contain single catch or multiple. }
Code:
public class ExceptionHandled { public static void main(String args[]) { int x =100, y = 0; int z; System.out.println("Hello world"); try { z = x/y; System.out.println(z); } catch(ArithmeticException except) { System.out.println("Avoid dividing by integer 0" + except ); } System.out.println("Hello class"); System.out.println("Hello there"); } }
Output:
Hello class and Hello, there are also printed on the output console apart from Hello world. This is the outcome of the exception handling mechanism.
Explanation:
This article has learned about java arithmetic exception and how to handle the exception under try and catch block. An arithmetic exception occurs most of the time because of the division of a number by integer 0. In this article, I have used a single catch for a single try, but we can also use multiple catch for a single try.
위 내용은 Java 산술 예외의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!