2013-08-24 2 views
-3

여기 내 맞춤 예외를 작성 중입니다. 잘못된 입력에 대한 메소드 분할에 대한 예외가 발생합니다. 내 맞춤 예외는 있지만 잡기에는 문제가 발생했습니다. 코드 그것은 나를 주요 방법을 오류 제공내 맞춤 예외가 제대로 잡히지 못했습니다.

class A extends Exception { 
    A(String s) { 
     super(s); 
    } 
} 

class Emp { 
    int a; 
    int b; 

    void divide(int a, int b) throws A { 
     if (b == 0) { 
      throw new A("super exception is there"); 
     } else 
      System.out.println(a/b); 

    } 

    public static void main(String args[]) { 
     Emp m = new Emp(); 
     try { 
      m.divide(10, 0); 
     } catch (A e) { 
      System.out.println(e); 
     } 

    } 
} 

을 다음과 같이하지 나에게 클래스를 발견
당신의 main() 방법에 정의되어 있기 때문에이

+0

적어도 코드를 서식을 지정하여 읽을 수 있도록 작성하십시오. 또한 적어도 일부 오류 대화 상자를 포함해야합니다. – redFIVE

+3

이 질문은 작업 코드를 수정하도록 요청했기 때문에 주제와 관련이없는 것처럼 보입니다. –

+0

문체 제안 : 사용자 정의'Exception'은'AException' 또는'CustomDivideByZeroException'와 같은 이름이어야합니다. 그래서 다른 개발자 (그리고 나중에)는 이것이 'Exception'이라는 것을 쉽게 알 수 있습니다. – SimonT

답변

1

일어나는 이유를 알아낼 수 없습니다 Emp 클래스는 .java 파일의 이름을 Emp.java으로 바꿉니다. 바로 A.java 일 것입니다. 그 이유는 Java가 A 클래스의 main() 메소드를 찾고 있기 때문입니다.

+0

네, 이것입니다. Eclipse에 복사하여 붙여 넣기 만하면됩니다. – asteri

0

나는 귀하의 코드를 시도했으며 정상적으로 작동합니다. 다음 결과를 반환합니다.

A: super exception is there 

Java 파일의 이름은 무엇입니까? 나는 Emp.java로 이름을 붙 였고 Emp 클래스는 main 메서드를 포함하고 있습니다.

0

Main-Method가 A 클래스가 아닌 Emp 클래스에 있기 때문입니다.

소스 파일 이름을 "Emp.java"로 지정하고 명령 줄을 사용하고 "java Emp"와 함께 실행하는 경우 "javac Emp.java"로 컴파일하십시오.