Является ли обработка исключений обязательной в MDC.remove() или MDC.put()?JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Является ли обработка исключений обязательной в MDC.remove() или MDC.put()?

Сообщение Гость »

Код: Выделить всё

import org.slf4j.MDC;

MDC.put(ID1, id1);
MDC.put(ID2, id2);
MDC.put(ID3, id3);
try {
return joinPoint.proceed();
} finally {
MDC.remove(ID1);
MDC.remove(ID2);
MDC.remove(ID3);
}
  • Предполагая, что существует приведенный выше код,
    Исключения также могут возникать для удаления, put()
  • Если в процессе удаления идентификатора 1 возникает исключение, вы не сможете удалить ненужные идентификаторы id2, id3. Чтобы предотвратить эту проблему, нужно ли мне выполнять дополнительный процесс получения и обработки исключения для этой части приведенного выше кода? Как и прилагаемый код
    Приведенный ниже код обрабатывается только для ID1, но вам понадобится оператор try-catch каждый раз, когда вы его добавляете.

Код: Выделить всё

        MDC.put(ID1, id1);
MDC.put(ID2, id2);
MDC.put(ID3, id3);
try {
return joinPoint.proceed();
} finally {
try{
MDC.remove(ID1);
} finally {
MDC.remove(ID2);
MDC.remove(ID3);
}

}
  • There's no compiler exception
If there's anything lacking in the question, please point it out. I'll reflect it and upload it again


Источник: https://stackoverflow.com/questions/781 ... or-mdc-put
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»