Thank you in advance for any information that you give to me.

I am working on a program that automatic replies sms and does a certain process when our customers call our hotline. I am using visual studio 2008 C# and I have connect 4 usb modems to my computer. The 4 usb GSM modem hold the numbers for our 4 hotlines

I already have a working program and I few issues I would like to discuss.
1. The program does not use multiple threads so basically it finishes the first task then moves on to the next. So if one sms comes through one line, it treats it before it treats any other incoming messages. I want to know if this is good idea to leave it like this because my main aim is to make sure the program never crashes.
2. My working program has try statements almost at every point but my program still manages to crash. Is there a way to prevent this?
3. When a COM is open, is it better to close and re-open it again after every time it is use or leave it constantly on
4. Also if there are any more help you can give concerning serial programming would be much appreciated.

1. Your success with multithreading is entirely up to you, imo you'll want to dedicate a bit of time to it because how can you expect to create applications that do non-trivial things with single-threaded applications?

2. Google try/catch in C++, chances are you just suck and this is a pathetic question, which do exist, no matter what daniweb tries to tell you.