¿Cómo el código de byte generado por scala elimina la excepción marcada?

Si es posible escribir código de bytes para un método que se supone que arroja una excepción marcada?

Por ejemplo, la siguiente clase Java no se compila a menos que el método declare que arroja la excepción marcada:

public class CheckedExceptionJava {
  public Class<?> testChecked(String s) throws ClassNotFoundException {
    return Class.forName(s);
  }
}

Mientras que el siguiente equivalente de Scala sí (porque Scala no tiene excepciones marcadas):

class CheckedException { 
    def testChecked( s : String )  = Class.forName( s ) 
}

Incluso si el código de bytes generado es casi idéntico:

Compiled from "CheckedExceptionJava.java"
public class CheckedExceptionJava extends java.lang.Object{
public CheckedExceptionJava();
  Code:
   0:   aload_0
   1:   invokespecial   #1; //Method java/lang/Object."<init>":()V
   4:   return

public java.lang.Class testChecked(java.lang.String)   throws java.lang.ClassNotFoundException;
  Code:
   0:   aload_1
   1:   invokestatic    #2; //Method java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
   4:   areturn

}

Compiled from "Che,ckedException.scala"
public class CheckedException extends java.lang.Object implements scala.ScalaObject{
public CheckedException();
  Code:
   0:   aload_0
   1:   invokespecial   #24; //Method java/lang/Object."<init>":()V
   4:   return

public java.lang.Class testChecked(java.lang.String);
  Code:
   0:   aload_1
   1:   invokestatic    #11; //Method java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
   4:   areturn

}

Pregunta: ¿Es posible (y cómo) generar bytecode para que eso no lo marque arroje una excepción marcada incluso si el código dentro de ese método no lo maneja?

Respuestas a la pregunta(1)

Su respuesta a la pregunta