package try_out;

import java.io.IOException;

public class A_test461 {
	void f() throws IOException{
		extracted();
	}
	protected void extracted() throws IOException {
		/*[*/try{
			f();
		} catch (IOException e){
			throw new IOException();
		}/*]*/
	}
}
