2016-01-09 3 views
0

Я разрабатываю программу JDBC, которая использует swing и позволяет пользователям взаимодействовать с базой данных.Swing JDBC SQL Exception Handling

Во время разработки SQL-исключения только что были пойманы с трассировкой стека печати (хотя они еще не были выполнены - по-прежнему требуется защита от исключений). Как я должен обрабатывать исключения в удобной для пользователя форме? С помощью диалогового окна: «Ошибка базы данных»? Сколько я должен раскрывать пользователю, может быть небезопасно давать им слишком много деталей, но еще раз, но никто не может ничего исправить или сообщить нам об ошибках.

+0

Вы можете регистрировать такие ошибки, отправлять трассировку стека как почту в свою учетную запись с ошибками и изучать ее с высоким приоритетом. На стороне клиента вы можете просто отобразить «Ошибка установления соединения с вашей учетной записью. Пожалуйста, попробуйте через некоторое время'. Это покупает вам немного времени, чтобы исправить проблему. – venkatKA

+0

Отлично, спасибо. Покупка немного времени звучит как план. –

+0

Я отвечу сразу же. – venkatKA

ответ

0

Я предлагаю создать систему ведения журнала. Таким образом, вы регистрируете активность в приложении, включая исключения. Здесь вы можете сделать более подробное описание исключений, и если вас беспокоит безопасность, вы можете зашифровать журнал. Когда возникает исключение, пользователь может экспортировать журнал текущего сеанса и отправить его вам как отчет об ошибке (если вы зашифруете его, вы можете его расшифровать -> хорошее место для использования асимметричного шифрования). Если пользователь может писать sql-операторы, то информировать их о синтаксической ошибке. Если вы потеряли соединение с базой данных, также сообщите ему, что это произошло, но никогда не направляйте какую-либо конкретную информацию об исключении.

+0

Спасибо, любые источники вы могли бы порекомендовать научиться использовать это? Или просто стандартное ведение журнала ошибок и написать мой собственный способ его использования? –

+0

Просто создайте папку с файлом журнала (имя: дата + время). Напишите файлу, что делает пользователь.
Пример: Thread: thread1 User pressed button1; Thread: thread1 Button1 action starting to execute Thread: thread1 Button1 action executed successfully; Thread: thread1 User pressed button2; Thread: thread1 Exception: "stack trace" /*(you can log data used in the action to make debugging easier)*/ Для быстрого примера на: Шифрование [ссылка] (http://www.java2s.com/Tutorial/Java/0490__Security/BasicRSAexample.htm) –

+0

@ D.Clayton Извините за отсутствие форматирования в комментарий я новичок в этом, так что еще не узнал, как это сделать. :/ –

0

Вы можете регистрировать такие ошибки, отправлять трассировку стека как почту в свою учетную запись с ошибками и изучать ее с высоким приоритетом. На стороне клиента вы можете просто отобразить «Ошибка установления соединения с вашей учетной записью. Пожалуйста, попробуйте через некоторое время'. Это покупает вам немного времени, чтобы исправить проблему.