This kind of depends on which "version" of web services you are using.
Using WCF, you will actually get a TimeoutException. You should generally also handle CommunicationException if you are attempting to handle timeouts. Sometimes I've also seen FaultException, although that technically shouldn't happen (but it does anyway once in a while). FaultException
is a descendant of CommunicationException
so you don't need to handle it separately, it's just useful to know that it might occur.
In ASMX, you will usually get a wrapped SoapException for which you need to check the InnerException
property to see what really went wrong.
Using WSE, you'll see yet another exception, ResponseProcessingException, for which again you must check the InnerException
for details.