The Test9(int) constructor begins with an implicit super() call, which goes to constructor Base(). Base() declares Exception. Test9(int) must declare Exception.
This is the same rule that applies to methods, except you can't use a try block with super().
The Test9(int) constructor begins with an implicit super() call, which goes to constructor Base().
Test9(int) is an overloaded constructor which should be calling it's superclass constructor, which is Base(int), which apparently is not present in the given code. Is this not the one actually causing error?
The constuctor is "Test9(int i) {}" Java inserts the statement "super();" as the first line of the empty constructor body. If you want to call "super(int)" instead, you must make it the first line of your constructor body source code.