import java.io.ByteArrayInputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import java.nio.charset.StandardCharsets; 

public class LambdaExceptionDeductionFuncTest 
{ 
  public static interface IBaseGetter 
  { 
    String get () throws Exception; 
  } 

  public static interface IThrowingGetter <EX extends Exception> extends IBaseGetter 
  { 
    String get () throws EX; 
  } 

  public static void main (final String [] args) throws IOException 
  { 
    final InputStream aIS = new ByteArrayInputStream ("abc".getBytes (StandardCharsets.UTF_8)); 
    final IThrowingGetter <IOException> aGetter = () -> Character.toString ((char) aIS.read ()); 
    aGetter.get (); 
  } 
} 