No, this is not how a program of any kind can be written. Programming is all about abstraction and DRY principle (Don't Repeat Yourself, see
http://en.wikipedia.org/wiki/Don%27t_repeat_yourself[
^]).
There are many very similar code lines of fragments repeated almost as many times as the number of letters in English alphabet (I have not idea, why not all of the letters). Each of these fragments should not be repeated; it should be presented zero times or only one time. Ever heard of parameters of method? of loops?
No immediate constants should be used, especially of string type, such as "a", "b"… Even "" should be written as
string.Empty
.
Methods should really short, each having clear semantic name suggestive of its purpose; naming conventions should be observed.
Those are elementary criteria. Until this is done, any programming activity makes no sense at all. It's much better not to write anything (use this time for reading on language and programming), then to write this way. Any discussion of exceptions makes no sense as well.
—SA