This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I'd declared & handled the exception (MyException) on doMore(), then why this error rises?
Yes, your doMore() method has been declared to throw MyException. This is why the compiler is checking to make sure that method1() either handles it or declares throwing it too -- as it calls the doMore() method.
BTW, your "handling" of the exception in your doMore() method, doesn't do anything. It just catches it and throws it again -- which is the same as not catching it in the first place.