/*******************************************************************************
 * Copyright (c) 2006 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/


public class ThrowsException2 {

	public static void main(String[] args) {
		ThrowsException anObject = new ThrowsException();
		try {
			anObject.throwBaby();
		} catch(TestException ie) {
			// do nothing
		}		
		anObject.throwBaby();
	}


	public void throwBaby() {
		throw new TestException();
	}
}
