Questions like this are often well explored by experiment. Warning - some of these experiments won't even compile!
Make a class A with a method "test(
String x)" that just displays any string passed in.
Make a class B that extends A with two methods: "test(String x) throws Exception" and "test(int x) throws Exception".
Then try some tests like these.
The string argument method in B is an override. When you call an instance of B with a string you run the override method, not the original. The compiler will not let you add on more checked exceptions when you override.
The int argument method in B is an overload. You started out saying the compiler would allow it to add new exceptions. Did it?
I'm being a little tricky - you asked for examples and I asked you to build your own examples. You didn't ask for an explanation of why it works this way. After you get your examples going, let's talk more about why.
[ June 18, 2005: Message edited by: Stan James ]