private Throwable buildException(List<String> classNames, String message, StackTraceElement[] stackTrace, String code) { String originalClass = Exception.class.getName(); if (!classNames.isEmpty()) { originalClass = classNames.get(0); } List<String> args = Arrays.asList(CorePlugin.Util.getString("ExceptionHolder.converted_exception", message, originalClass)); //$NON-NLS-1$ Throwable result = null; for (String className : classNames) { try { result = (Throwable)ReflectionHelper.create(className, args, ExceptionHolder.class.getClassLoader()); break; } catch (TeiidException e1) { // } } if (result == null) { result = new TeiidRuntimeException(args.get(0)); } else if (result instanceof TeiidException) { ((TeiidException)result).setCode(code); ((TeiidException)result).setOriginalType(classNames.get(0)); } result.setStackTrace(stackTrace); return result; }
private Throwable buildException(List<String> classNames, String message, StackTraceElement[] stackTrace, String code) { String originalClass = Exception.class.getName(); if (!classNames.isEmpty()) { originalClass = classNames.get(0); } List<String> args = Arrays.asList(CorePlugin.Util.getString("ExceptionHolder.converted_exception", message, originalClass)); //$NON-NLS-1$ Throwable result = null; for (String className : classNames) { try { result = (Throwable)ReflectionHelper.create(className, args, ExceptionHolder.class.getClassLoader()); break; } catch (TeiidException e1) { // } } if (result == null) { result = new TeiidRuntimeException(args.get(0)); } else if (result instanceof TeiidException) { ((TeiidException)result).setCode(code); ((TeiidException)result).setOriginalType(classNames.get(0)); } result.setStackTrace(stackTrace); return result; }