Welcome to the Ranch, Mohini!
The earlier posts tried to explain this, 14 years ago!
We don't get any of those exceptions!
This question is really seeing if you know about the rules for method overload matching when someone passes null.
I believe all you need to know is that the compiler always picks the most specific one that matches, and ignores more general ones that happen to match. If there are two or more choices that are equally specific, the compiler gives up and the compile fails.
Now, null is very weird, it can match anything, so as long as there is one overload that is the most specific, it will get matched.
You should slightly change the problem using other overloads with different sub-classes and convince yourself that this is really what the tricky problem was about -- nobody is throwing anything here.
A common trick on these tricky exams is for questions to appear to be about one topic, but really be testing you on another, so this one is perfectly good practice for that.