Я написал систему тикетов для компании, в которой я работаю. Мы работаем над этим программным обеспечением более года. В настоящее время я занимаюсь обновлением этого программного обеспечения, чтобы включить новую форму запроса на техническое обслуживание. Я полностью начал все с нуля и запрограммировал все гораздо лучше, чтобы никогда не использовать один и тот же код дважды. У меня уже более трех тысяч строк кода, и я столкнулся с проблемой. Чтобы снова использовать код, я помещаю его в подпрограмму или функцию с параметрами. В этих вспомогательных и функциональных блоках я использую try catch для обработки ошибок. Проблема в том, что я использую эти функции повсеместно в приложении, например, на заставке. Если что-то происходит с ошибкой на заставке, первая проблема заключается в том, что сообщение будет автоматически закрыто, поскольку заставка отображается только в течение нескольких секунд. Вторая проблема, с которой я столкнулся, это то, что если вы не нажмете кнопку OK на ошибке достаточно быстро, прежде чем закроется экран-заставка, приложение полностью зависнет. Есть ли лучший способ сделать это?
Я думал о создании публичной переменной для передачи ошибки, но я не уверен, что это лучший способ сделать это. Я хочу, чтобы приложение было максимально профессиональным. Я также думал о создании консоли ошибок, но я не совсем уверен, как это сделать. Я не очень старался, потому что не знаю лучшего способа решения этой конкретной проблемы.
Private Sub Splash_Screen_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
## Splash screen Code
## My added code:
Try
'Most of these functions also have a try catch block.
Public_Functions.GetApplicationSettings(Public_Functions.SQL_ApplicationSettingsTable)
Catch EX As Exception
Public_Functions.ShowErrorBox("Unable to load application settings!", EX.Message, MethodPath:=Public_Functions.GetMethodPath())
End Try
End Sub
Если в программном обеспечении есть ошибка, я ожидаю, что оно отобразит ошибку, и подождите, пока пользователь закроет окно на заставке, или отобразит ошибку в главной форме после закрытия заставки.
Фактическое поведение - когда программное обеспечение выдает ошибку, оно пытается отобразить несколько окон с ошибками, и закрывается заставка, которая замораживает приложение. Если мои события загрузки заставки будут удалены, оно запустит приложение, но ничего из того, что мне нужно загрузить, будет недоступно.