Hello, I found in the Practice exam 1, the 41th question:
the answer is the result of the program would be throwing (runtime) NumberFormatException. But I figured since A is the superclass, when you call B with A ref, the compliler got check if the checked exception is handled. And it's true that when I tested in a real IDE, a complier error happened.
NumberFormatException and InterruptedException are Unchecked (Runtime) Exceptions.
When you override a method, you can declare any Unchecked exception.But the checked exceptions cannot be new or broader than the overridden method.
I have not looked into the actual question. But, if ab.blast() would surround with try/catch, then the answer (runtime exception) would be correct.
Either it is typo in question or missed the "compile time error" option in solution(s).
Nice subject line. But the code you posted here is not exactly from ExamLab. It seems you edited the code. In the ExamLab question, there is a "throws" declaration for the main method, so there are no error at compile time. In ExamLab, there is a "Copy Program" button, so you can easily copy and paste the code here.
Eventhough Interrupted Exception is a checked exception, it will not create a problem.
As I said early
"When you override a method, you can declare any Unchecked exception.But the checked exceptions cannot be new or broader than the overridden method. "
I would like to add that-
"Unless its needed, the overriding method doesnt have to declare all the Checked Exceptions, what the overridden method have."
I'm sorry for the subject line, but I was puzzled at the first place, that was true. Yes, you were right, I could have copied and pasted the code, but on my ThinkPad T40, which I am not sure why the resolution is not right when running ExamLab so I had to installed it on a separate slower machine, which I don't have IDEs.
Yes, you are right. If the throw clause is added to the main function, then it is fine.
Thanks for the clarifying.
Devaka Cooray wrote:Jennifer
Nice subject line. But the code you posted here is not exactly from ExamLab. It seems you edited the code. In the ExamLab question, there is a "throws" declaration for the main method, so there are no error at compile time. In ExamLab, there is a "Copy Program" button, so you can easily copy and paste the code here.
Jennifer Zhen wrote:I'm sorry for the subject line,
No I meant that this subject line is really good , because it makes me to read this topic. So, if there are any errors, I can figure them out and fix them.