-4
私のコードがそのフローをどこに投げかけているのかわかりません。それは私は彼らがどのように動作するか知っていないさまざまなエラーがあります。クラス例外による制御の流れは、super(string)型のようにsuper(int)のsuper引数をサポートしていません。私はほとんどがJavaには新しく、これはユーザーベースの例外処理プログラムです。Exception(int)の適切なコンストラクタが見つかりません
import java.util.*;
class invalidbal extends Exception{
invalidbal (int balance, int transaction){
super(balance);
super(transaction);
}
class TestCustomException1{
static void validate(int balance, int transaction)throws invalidbal{
if(balance - transaction < 0)
throw new InvalidAgeException("You are not eligible to Transact");
else
System.out.println("Post transaction your current balance is" + (balance - transaction));
}
public static void main(String args[]){
Scanner s = new Scanner(System.in);
System.out.println("Welcome to transaction checker");
System.out.println("Please enter the balance:");
a = s.nextInt();
System.out.println("Please enter the transaction:");
b = s.nextInt();
try{
validate(a,b);
}catch(Exception m){System.out.println("Exception occured: "+m);}
System.out.println("Thank you for checking!");
}
}
}
出力は次のとおりです。
[email protected]:~$ javac bal.java
bal.java:4: error: no suitable constructor found for Exception(int)
super(balance);
^
constructor Exception.Exception(String) is not applicable
(argument mismatch; int cannot be converted to String)
constructor Exception.Exception(Throwable) is not applicable
(argument mismatch; int cannot be converted to Throwable)
bal.java:5: error: call to super must be first statement in constructor
super(transaction);
^
bal.java:9: error: Illegal static declaration in inner class invalidbal.TestCustomException1
static void validate(int balance, int transaction)throws invalidbal{
^
modifier 'static' is only allowed in constant variable declarations
bal.java:20: error: cannot find symbol
a = s.nextInt();
^
symbol: variable a
location: class invalidbal.TestCustomException1
bal.java:22: error: cannot find symbol
b = s.nextInt();
^
symbol: variable b
location: class invalidbal.TestCustomException1
bal.java:24: error: cannot find symbol
validate(a,b);
^
symbol: variable a
location: class invalidbal.TestCustomException1
bal.java:24: error: cannot find symbol
validate(a,b);
^
symbol: variable b
location: class invalidbal.TestCustomException1
bal.java:16: error: Illegal static declaration in inner class invalidbal.TestCustomException1
public static void main(String args[]){
^
modifier 'static' is only allowed in constant variable declarations
Note: Some messages have been simplified; recompile with - Xdiags:verbose to get full output
8 errors
https://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html#constructor_summary - 使用する新しいコンストラクタを選択して –
を選択し、* one * consを選択します。トラクター。 'super'を2回呼び出すことはできません。 –
[Javaの適切なコンストラクタが見つかりません]の重複している可能性があります(http://stackoverflow.com/questions/31354110/java-no-suitable-constructor-found) –