> Java > java지도 시간 > 본문

Java 사용자 정의 예외

WBOY
풀어 주다: 2024-08-30 16:15:08
원래의
1052명이 탐색했습니다.

Java 사용자 정의 예외는 생성된 사용자 정의 예외이며 'throw'라는 키워드를 사용하여 해당 예외를 발생시킵니다. 이는 'Exception' 클래스를 확장하여 수행됩니다. 예외는 프로그램 실행 중에 발생하는 문제입니다. 객체 지향 프로그래밍 언어에서 Java는 이러한 예외를 처리하는 강력한 메커니즘을 제공합니다. Java에서는 자체 예외 클래스 구현을 제공하는 자체 예외 클래스를 생성할 수 있습니다. 이러한 예외를 사용자 정의 예외 또는 사용자 정의 예외라고 합니다. 몇 가지 예를 해결하여 Java에서 사용자 정의 예외가 어떻게 생성되는지, 해당 구문(있는 경우), 구현 방법을 자세히 살펴보겠습니다.

광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문:

Java 사용자 정의 예외에 대한 특별한 구문은 없습니다. 사용자 정의 예외를 생성하는 방법을 살펴보겠습니다.

아래는 사용자 정의 예외 클래스를 생성하는 데 도움이 되는 코드입니다.

class SampleException{
public static void main(String args[]){
try{
throw new UserException(<value>); // used to create new exception and throw
}
catch(Exception e){
System.out.println(e);
}
}
}
class UserException extends Exception{
// code for exception class
}
로그인 후 복사

여기서 예외 클래스를 생성하는 동안 java에서 확장해야 합니다. lang.Exception.

예외란 런타임에 실행되는 동안 프로그램이 갑자기 종료되는 이벤트입니다.

Java 사용자 정의 예외의 예를 살펴보겠습니다.

예제 #1: 간단한 프로그램

class SampleException{
public static void main(String args[]){
try{
throw new UserException(400);
}
catch(UserException e){
System.out.println(e) ;
}
}
}
class UserException extends Exception{
int num1;
UserException(int num2) {
num1=num2;
}
public String toString(){
return ("Status code = "+num1) ;
}
}
로그인 후 복사

출력:

'throw'라는 키워드는 새로운 Exception을 생성하고 이를 catch 블록에 던지는 데 사용됩니다.

Java 사용자 정의 예외

예시 #2: 잘못된 ID의 경우

class EmployeeException extends Exception
{
public EmployeeException(String s)
{
super(s);
}
}
class SampleEmp
{
void empIDCheck(int EmpID) throws EmployeeException{
if(EmpID<=0 || EmpID>999){
throw new EmployeeException("Invalid Employee ID");
}
}
public static void main(String args[])
{
SampleEmp emp = new SampleEmp();
try
{
emp.empIDCheck(0);
}
catch (EmployeeException e)
{
System.out.println("Exception caught");
System.out.println(e.getMessage());
}
}
}
로그인 후 복사

출력:

Java 사용자 정의 예외

여기서 throw 클래스를 사용하지 않으면 '메서드에서 처리되지 않은 예외'라는 컴파일 오류가 발생합니다.

예 #3: 정의된 값보다 작은 값의 경우

class SampleException extends Exception
{
private int e;
SampleException(int num1)
{
e = num1;
}
public String toString()
{
return "(" + e +") is less than Ten";
}
}
class Demo1
{
static void sum(int num,int num1) throws SampleException
{
if(num1<10)
{
throw new SampleException(num1);
}
else
{
System.out.println(num+num1);
}
}
public static void main(String[] args)
{
try
{
sum(-5, 4);
}
catch(SampleException e1)
{
System.out.println(e1);
}
}
}
로그인 후 복사

출력:

Java 사용자 정의 예외

예시 #4: 신분증 유효성을 확인하기 위해

class IDNotValid extends Exception
{
public IDNotValid(String s) {
super(s);
}
}
class Demo
{
static void find(int array[], int id) throws IDNotValid
{
boolean stdFlag = false;
for (int i = 0; i < array.length; i++) {
if(id == array[i])
stdFlag = true;
}
if(!stdFlag)
{
throw new IDNotValid("ID is not Valid!");
}
else
{
System.out.println("ID is Valid!");
}
}
public static void main(String[] args)
{
try
{
find(new int[]{101, 102, 103, 104, 105, 106, }, 108);
}
catch(IDNotValid e)
{
System.out.println(e);
}
}
}
로그인 후 복사

출력:

Java 사용자 정의 예외

여기서 자체 예외 구현을 생성하고 있습니다.

이러한 사용자 정의 예외를 사용하면 이점이 있습니다. 사용자가 원하는 예외를 던질 수 있습니다. 사용자는 기존 애플리케이션을 재사용할 수도 있습니다. 예외를 포착하는 코드는 실제 예외가 발생할 가능성을 처리합니다. 이는 코드가 아닌 다른 타사 코드에 의해 발생한 것입니다.
사용자는 오류 처리 코드를 일반 코드와 분리하여 오류 유형을 그룹화하고 구분할 수 있습니다.
Exception 클래스를 생성하는 데에도 몇 가지 규칙이 있습니다.

  • 생성자: 이는 사용자 정의 예외 클래스에서 생성자를 생성하는 데 필수는 아닙니다. 사용자 정의 예외 클래스에 매개변수화된 생성자를 제공하는 것이 좋습니다.
  • 명명 규칙: 모든 예외 클래스는 JDK 측에서 제공됩니다. 따라서 사용자 정의 예외는 명명 규칙을 따라야 합니다.
  • 예외 클래스 확장: 사용자가 사용자 정의 예외 클래스를 생성하는 경우 사용자는 Exception 클래스를 확장해야 합니다.

이상으로 'Java 사용자 예외 클래스' 주제를 마치겠습니다. Java 프로그래밍에서 발생하는 거의 모든 일반적인 Java 예외가 제공됩니다. 우리는 사용자 정의 예외 클래스의 생성을 살펴봤고 사용자 정의 예외의 몇 가지 예도 보았습니다. 사용자는 클래스 내부에 아무것도 구현할 필요가 없습니다. 메소드가 필요하지 않으며 toString() 함수를 재정의하여 사용자 정의된 메시지를 표시합니다.

위 내용은 Java 사용자 정의 예외의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!