자바 소개 및 자바 에 대한 신속 한 이해(13)
public class TestHundredException{
public static void main(String[] args){
MyClass mc=new MyClass();
try{// try
System.out.println(mc.add(10,80));
}
catch(HundredException e){
// try
e.printStackTrace();
}
try{
System.out.println(mc.add(30,70));
}
catch(HundredException e){
e.printStackTrace();
}finally{
System.exit(0);
}
}
}
class HundredException extends Exception{//
public HundredException(String message){
super(message);
}
}
class MyClass{
public int add(int a,int b) throws HundredException{
int c=a+b;
if (c==100) {
throw new HundredException("a+b can\'t be 100");
}else{
return c;
}
}
}
결 과 는:
90com.sdjt.study.corejava.HundredException: a+b can't be 100 at com.sdjt.study.corejava.MyClass.add(TestHundredException.java:36) at com.sdjt.study.corejava.TestHundredException.main(TestHundredException.java:18)
사용자 정의 이상 사용자 정의 이상 이 Exception 의 하위 클래스 라면 다음 과 같은 예 입 니 다.이상 류 를 정의 하려 면 Exception 이나 Runtime Exception 의 하위 클래스 가 필요 합 니 다.
public class TestMyException{
public static void main(String[] args){
int n=Integer.parseInt(args[0]);
A a=new A();
try{
a.calculate(n);
}
catch(Exception e){
e.printStackTrace();
}
System.out.println("OK");
}
}
class A{
public void calculate(int n) throws ZhiShuException{
for(int i=2;i<n;i++){
if (n % i == 0) return;
}
throw new ZhiShuException(n+" is a Prime Number");
}
}
class ZhiShuException extends Exception{// , Exception
public ZhiShuException(String message){
// String message
super(message);
}
}
결과:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at.com.sdjt.study.corejava.TestMyException.main(TestMyException.java:9)개발 중의 두 가지 이치:① try 블록 의 범 위 를 어떻게 제어 하 는 지:작업 의 연동 성과 상관 성에 따라 앞의 프로그램 코드 블록 이 던 진 이상 이 뒤의 프로그램 코드 의 운행 에 영향 을 주 었 습 니 다.이 두 개의 프로그램 코드 는 관련 이 있 으 므 로 같은 try 블록 에 두 어야 합 니 다.② 이미 발 견 된 예외 에 대해 서 는 throw(소극 적)와 try{...}catch(...){...}(적 극 적)두 가지 처리 방법 이 있 습 니 다.throws 에 이상 을 trycatch 에 던 지면 이상 을 적절하게 처리 할 수 있 는 위치(즉,이 이상 을 처리 할 수 있 는 능력 을 갖 춘 위치 에 두 는 것).이상 을 처리 할 능력 이 없 으 면 이상 을 계속 던 집 니 다.throw 는 예외 적 인 기능 을 던 지 는 데 사용 되 는 문구 입 니 다.throws 는 이 방법 에서 이상 하 게 던 질 수 있 음 을 나타 내 며,이 방법 은 처리 하지 않 고 이상 대상 을 위로 던 집 니 다.throws 는 이상 유형 을 썼 고 throw 후 던 질 이상 대상 을 썼 습 니 다.주의:방법의 덮어 쓰기 에서 하위 클래스 의 방법 이 던 지 는 예외 가 부모 클래스 방법 이 던 지 는 예외 적 인 부모 형식 이 라면 컴 파일 오류 가 발생 합 니 다.하위 클래스 는 부모 클래스 를 덮어 쓸 수 없습니다.결론:부류 방법 은 부류 방법 보다 더 많은 예 외 를 던 져 서 는 안 된다.하위 클래스 가 던 지 는 예외 나 부모 클래스 가 던 지 는 예외 와 일치 하거나 부모 클래스 가 예외 적 인 하위 유형 을 던 집 니 다.또는 하위 유형 은 예 외 를 던 지지 않 습 니 다.부모 형식 이 throws 가 없 을 때 하위 형식 도 throws 가 나타 나 지 않 습 니 다.이 때 는 try catch 만 사용 할 수 있 습 니 다.단언 은 디 버 깅 도구(assert)의 뒤 를 따 르 는 불 형식의 표현 식 입 니 다.표현 식 결과 가 프로그램 실행 에 영향 을 주지 않 는 다 면.가짜 시스템 에 저급 오류 가 발생 하면 화면 에 assert 정보 가 나타 납 니 다.Assert 는 디 버 깅 에 만 사 용 됩 니 다.제품 컴 파일 이 끝 난 후 온라인 assert 코드 가 삭제 되 었 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.