Для нашей кодовой базы мне нужно найти все операторы catch, которые не печатают трассировку стека.
Итак, такая строка:
catch (Exception e) { }
или
catch (Exception e) {
Do Something
}
или
catch (Exception e) {
}
Не включая, если строка "StackTrace" включена где-либо между {}
У меня есть
catch\b\s*\(.*\)\s*\{.*\n*(?!stackTrace).*\n*\}
Который, кажется, в основном работает, за исключением нескольких строк ..
Кто-нибудь может помочь?
Спасибо
РЕДАКТИРОВАТЬ: Некоторые примеры сбоев .. Это имеет тенденцию терпеть неудачу на этом;
} catch (NameNotFoundException e) {
}
Это работает для этого
} catch (JSONException e) {
}