Ну, я так и знал!

Тут несколько замечаний, основные:
1. Обработку ошибок не лучше ли сделать на основе исключений?
2. В приведенном выше коде мешанина логики с GUI, не есть это гуд
Впрочем, если тебе это слушать неприятно и код тебя устраивает — мое дело сторона