Hi, wei luo,
For your first question, you can't pass any instance variable to this(), i guess also super(). Please see JLS 8.8.5.1.
Question 2, yes, y r right.
For any checked exception, we must throw it, then catch it. But not for runtime exception.
For initializer, please read JLS 12.4 and 12.5. That's the best with examples.