mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			36 lines
		
	
	
		
			732 B
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			732 B
		
	
	
	
		
			Java
		
	
	
	
// Test a `throw' across a libffi call.
 | 
						|
 | 
						|
import java.lang.reflect.*;
 | 
						|
 | 
						|
public class invokethrow
 | 
						|
{
 | 
						|
  public static void doit () throws Throwable
 | 
						|
  {
 | 
						|
    throw new Throwable ("hi!");
 | 
						|
  }
 | 
						|
 | 
						|
  public static void main (String[] args)
 | 
						|
  {
 | 
						|
    Class k = invokethrow.class;
 | 
						|
    try
 | 
						|
      {
 | 
						|
	Class[] noargs = new Class[0];
 | 
						|
	Method m = k.getMethod ("doit", noargs);
 | 
						|
	m.invoke (null, null);
 | 
						|
      }
 | 
						|
    catch (InvocationTargetException x1)
 | 
						|
      {
 | 
						|
	System.out.println (x1.getTargetException ().getMessage ());
 | 
						|
      }
 | 
						|
    catch (UnsupportedOperationException _)
 | 
						|
      {
 | 
						|
	// Some systems don't support invocation, in which case we
 | 
						|
	// will fake a passing result.
 | 
						|
	System.out.println ("hi!");
 | 
						|
      }
 | 
						|
    catch (Throwable _)
 | 
						|
      {
 | 
						|
      }
 | 
						|
  }
 | 
						|
}
 |