public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
try {
Result result = (invocation);
if (() && GenericService.class != ()) {
try {
Throwable exception = ();
if (! (exception instanceof RuntimeException) && (exception instanceof Exception)) {
return result;
}
try {
Method method = ().getMethod((), ());
Class<?>[] exceptionClassses = ();
for (Class<?> exceptionClass : exceptionClassses) {
if (().equals(exceptionClass)) {
return result;
}
}
} catch (NoSuchMethodException e) {
return result;
}
("Got unchecked and undeclared exception which called by " + ().getRemoteHost()
+ ". service: " + ().getName() + ", method: " + ()
+ ", exception: " + ().getName() + ": " + (), exception);
String serviceFile = (());
String exceptionFile = (());
if (serviceFile == null || exceptionFile == null || (exceptionFile)){
return result;
}
String className = ().getName();
if (("java.") || ("javax.")) {
return result;
}
if (exception instanceof RpcException) {
return result;
}
return new RpcResult(new RuntimeException((exception)));
} catch (Throwable e) {
("Fail to ExceptionFilter when called by " + ().getRemoteHost()
+ ". service: " + ().getName() + ", method: " + ()
+ ", exception: " + ().getName() + ": " + (), e);
return result;
}
}
return result;
} catch (RuntimeException e) {
("Got unchecked and undeclared exception which called by " + ().getRemoteHost()
+ ". service: " + ().getName() + ", method: " + ()
+ ", exception: " + ().getName() + ": " + (), e);
throw e;
}
}