What will be the result of the following code compilation and execution:
public class Application<T extends Throwable> {
public static void main(String[] args) {
Application<RuntimeException> application = new Application<>();
application.secureRun();
}
public void secureRun() throws T {
try {
System.out.println("Hello!");
} catch (T e) {
System.err.print("Error!");
}
}
}