Можно ли раскрывать конфиденциальную информацию о приложении или системе через Java Exceptions
, когда пересекаются границы доверия?
Я имею в виду, не только теоретически, но если это произойдет в реальной среде.
например java.io.FileNotFoundException
может сообщить вызывающей стороне о структуре файловой системы моего приложения и т.д. java.util.ConcurrentModificationException
может дать информацию о классах, не поддерживающих потокобезопасность моего приложения.
Можно ли разрешить эту ситуацию каким-либо другим способом, кроме двух приведенных ниже?
Использовать
Sysouts
(только с настроенным сообщением) вместоthrowing exceptions
для кодов, к которым должны получить доступ другие?Если обязательно генерировать исключение, дезинфицируйте свои сообщения, а затем генерируйте исключение.
Мне также интересно, можно ли полностью избежать пункта № 2 и не будет ли каких-либо обязательных ситуаций для создания исключения.
Мой вопрос касается не какого-либо конкретного приложения, а практики программирования в целом (когда на крупных предприятиях требуется взаимодействие между приложениями, например, в двух разных банках и т. д.).