2016-09-30 7 views
-3
import java.util.*; 
class ArrayOverflowException extends Exception{ 
    ArrayOverflowException(){ 
     super(); 
    } 
    static int i; 
    static void check(int i) throws ArrayOverflowException{ 
     if (i>5) { 
      throw new ArrayOverflowException("Array Overflow"); 
     return; 
} 
} 
public static void main(String[] args) { 
    Scanner input=new Scanner(System.in); 
    int a[]=new int[5]; 
    System.out.println("Enter the elemets of the array. #MAX 6 ELEMENTS#"); 
    try{ 
     for (int i=0;i<10;i++) { 
      ArrayOverflowException.check(i); 
      a[i]=input.nextInt(); 
     } 
    }catch (ArrayOverflowException e) { 
     System.out.println("Exception handled"+e); 
    } 
} 
} 

私は、エラーcannot find symbol in line 9を与えるJavaで独自のユーザー定義例外を作成しようとしています。助けてください。Javaでユーザ定義のエラーを作成する。なぜこのコードは機能しませんか?

行9は、新しいArrayOverflowException( "配列オーバーフロー")をスローします。

+1

ための 'に変更し、それは、(i = 0をint型;私は<10; iが++){' –

+0

は、私はすでにそれをやって試してみましたが、それはラインが9で違い – Palak

+0

をしませんでしたか? – shmosel

答えて

1

1)文字列のparam

ArrayOverflowException(String message){ 
    super(message); 
} 

2)削除リターンでコンストラクタを追加し、それが到達不能コードも

return; 

あなたはユーザー入力からIまたは値をチェックしたいかどうかを確認ですか?

+0

ありがとう!出来た。 – Palak

0

ここ2つの問題があります。

  1. あなたはStringパラメータ受け取るコンストラクタを作成する必要があります。それはすぐにジャンプするので、throw

    ArrayOverflowException(String message) { 
        super(message); 
    } 
    
  2. あなたがすることができませんreturnは、最も近いcatchブロックです。この場合、メソッドの外側にあります。

+0

ありがとう!出来た。 – Palak

関連する問題