JAVA 의 이상 처리 메커니즘 및 이상 분류
1.이상 분 류 는 다음 과 같다.
–>Throwable 은 자바 언어 에서 모든 오류 나 이상 한 초 클래스 입 니 다.다음 층 은 Error 와 Exception–>Error 류 로 나 뉘 는데 자바 가 실 행 될 때 시스템 의 내부 오류 와 자원 소모 오 류 를 말 합 니 다.응용 프로그램 은 이러한 대상 을 던 지지 않 습 니 다.이러한 오류 가 발생 하면 사용자 에 게 알 리 는 것 외 에 나머지 는 프로그램 을 안전하게 종료 시 키 는 것 입 니 다.->Exception 에는 두 가지 가 있 습 니 다.하 나 는 Runtime Exception 이 고 하 나 는 Runtime Exception 입 니 다.예 를 들 어 I/O 오류 로 인 한 IOException 입 니 다.->Runtime Exception 은 자바 가상 컴퓨터 가 정상적으로 작 동 하 는 동안 던 질 수 있 는 이상 한 초 류 입 니 다.파생 Runtime Exception 의 이상 은 일반적으로 몇 가지 측면 을 포함 합 니 다.1.잘못된 형식 변환 2.배열 접근 경계 3.빈 포인터 에 Runtime Exception 이 나타 나 면 프로그래머 의 오류 가 발생 합 니 다.->Runtime Exception 이 아 닌 이상 은 보통 외부 오류 입 니 다.보통 몇 가지 측면 을 포함 합 니 다.1.파일 끝 에서 데 이 터 를 읽 으 려 고 합 니 다.2.잘못된 형식의 URL 3 을 열 려 고 합 니 다.주어진 문자열 에 따라 class 대상 을 찾 으 려 고 합 니 다.이 문자열 은 클래스 가 존재 하지 않 습 니 다–>JAVA 는 Error 와 Runtime Exception 류 에서 발생 하 는 모든 이상 을 검사 되 지 않 은 이상 이 라 고 합 니 다.모든 이상 을 검사 이상 이 라 고 합 니 다.
2.이상 한 처리 방식:
1.문제 가 발생 하면 구체 적 으로 처리 하지 않 고 계속 호출 자 에 게 이상 을 던 지 는 세 가지 형식 이 있 습 니 다.하 나 는 throw,하 나 는 throws 이 고 다른 하 나 는 시스템 자동 으로 이상 을 던 집 니 다.
// , throw
public static void main(String[] args) {
String s = "abc";
if(s.equals("abc")) {
throw new NumberFormatException();
} else {
System.out.println(s);
}
}
int div(int a,int b) throws Exception{
return a/b;}
//
public static void main(String[] args) {
int a = 5, b =0;
System.out.println(5/b);
}
메모:Throw 와 throws 의 차이:1.위치 가 다 릅 니 다.throws 는 함수 에 사용 되 고 뒤 에는 이상 류 가 있 으 며 여러 개 를 따라 갈 수 있 습 니 다.throw 는 함수 에 사용 되 고 뒤 에는 이상 대상 을 따른다.2.기능 이 다 릅 니 다.throws 는 이상 을 설명 하고 호출 자가 이 기능 에 발생 할 수 있 는 문제 만 알 게 하 며 미리 처리 할 수 있 습 니 다.throw 는 구체 적 인 문제 대상 을 던 지고 throw 로 실행 하면 기능 이 끝 납 니 다.호출 자로 이동 하고 구체 적 인 문제 대상 을 호출 자 에 게 던 집 니 다.즉,throw 문 구 는 독립 적 으로 존재 할 때 다른 문 구 를 정의 하지 마 십시오.실행 할 수 없 기 때 문 입 니 다.3.throws 는 이상 이 발생 할 가능성 을 나타 내 는데 반드시 이러한 이상 이 발생 하 는 것 은 아니다.throw 는 이상 을 던 졌 고 throw 를 실행 하면 이상 한 대상 을 던 졌 을 것 이다.4.둘 다 이상 을 소극 적 으로 처리 하 는 방식 입 니 다.(여기 서 소극 적 으로 처리 하 는 것 은 이런 방식 이 좋 지 않다 는 것 이 아 닙 니 다.)이상 을 던 지 거나 던 질 수 있 지만 함수 에 의 해 이상 을 처리 하지 않 습 니 다.진정한 처리 이상 은 함수 의 상부 에서 호출 됩 니 다.2.맞 춤 형 처리 방식:이상 포착
Try{
//
}
Catch( )
{
// ,
}
finally{
//
}
3.Runtime Exception 과 Exception 의 차이
Runtime Exception:방법 을 정의 할 때 설명 이 필요 없 이 Runtime Exception 을 던 집 니 다.이 방법 을 호출 할 때 이 Runtime Exception 을 캡 처 할 필요 가 없습니다.한 마디 로 하면 이상 을 검사 하지 않 으 면 try..catch..또는 throws 메커니즘 으로 Exception 을 처리 할 필요 가 없습니다.방법 을 정의 할 때 던 질 수 있 는 모든 exception 을 설명해 야 합 니 다.이 방법 을 호출 할 때 checked exception 을 캡 처 해 야 합 니 다.그렇지 않 으 면 exception 을 전달 해 야 합 니 다.한 가지 방법 은 모든 검사 이상 을 밝 혀 야 합 니 다.이상 을 검사 하지 않 거나 제어 할 수 없 거나(Error)피해 야 합 니 다(Runtime Exception).만약 방법 이 발생 할 수 있 는 모든 검사 이상 을 설명 하지 않 으 면 컴 파일 러 는 오류 정 보 를 제공 할 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.