частной Строка getEmailTemplateWithActualValueForAccount (шаблон String, экаунт) бросает IllegalArgumentException, IllegalAccessException, InvocationTargetException {исключения в Java
Map<String,String> map = new HashMap<String, String>();
List<String> listTags = new ArrayList<String>();
Map<Method, String> methodList = new HashMap<Method, String>();
int startIndex=0;
int endIndex=0;
for(int i=0; i<template.length(); i++)
{
char ch = template.charAt(i);
if(ch=='$')
startIndex = i+1;
if(ch=='#')
{
endIndex = i+1;
listTags.add(template.substring(startIndex,endIndex));
}
}
Method[] methods = Account.class.getMethods();
for (Method method : methods) {
String methodName = method.getName();
if(method.getName().startsWith("get"))
{
methodList.put(method, methodName.substring(3,methodName.length()).toUpperCase()+"#");
}
}
Set<Method> methodKeySet = methodList.keySet();
for (Method method : methodKeySet) {
for (String string : listTags) {
if(methodList.get(method).equals(string))
{
try{
Object obj = method.invoke(account, null);
if(obj!=null)
map.put(string, obj.toString());
}catch(NullPointerException e){
}
}
}
}
final StringBuilder list = new StringBuilder("\\$(");
for(final String key: map.keySet())
{
list.append(key);
list.append("|");
}
list.append("[^\\s\\S])");
Pattern pattern = Pattern.compile(list.toString());
Matcher matcher = pattern.matcher(template);
final StringBuffer stringBuffer = new StringBuffer();
while(matcher.find()){
final String string = matcher.group(1);
matcher.appendReplacement(stringBuffer, map.get(string));
}
matcher.appendTail(stringBuffer);
return stringBuffer.toString();
}
я получил исключение в строке кода «объект Obj = method.invoke (счет, нуль) ;» Код отлично работает, но поскольку этот код находится в планировщике, он будет создавать журнал каждые 20 секунд на сервере jboss.
Вы получите лучший ответ, если вы добавите контекст к своему вопросу. У вас есть код, который его бросает? Если так, разместите его. Вы беспокоитесь о том, чтобы поймать его? Если да, то какие методы бросают это, что вас беспокоит? – corsiKa
Не могли бы вы предоставить свой код, который выбрасывает это исключение? – Longball27
... так что код НЕ отлично работает, не так ли? Просто потому, что компилируется код, он не работает так, как вы этого хотели. Очевидно, что в этом случае это не так, поэтому на самом деле это не «отлично работает». – polygenelubricants