blog

TFS Gotcha (Exception Handling)

Published on
1 minute read

When coding against team foundation server you must be aware that some of the exceptions thrown by Team Foundation Server  are not Serilisable! I think that this was an oversite by Microsoft, but it is there none the less.

An example of this is; TeamFoundationServerUnauthorizedException

If you want to handle this exception accross Windows Communication Foundation   you will need to create a custom exception of the same name and re-throw this accross your services.

<DataContract()> _
Public Class TeamFoundationServerUnauthorizedException

Public Sub New()
    …
  End Sub

End Class

Make sure that you mark it as a data contract and then you can throw it when you encounter the Team Foundation Server  exception:

Try
  ’ Team Foundation Server  Connection Code
Catch ex As TeamFoundationServerUnauthorizedException
  Throw New FaultException(Of FaultContracts.TeamFoundationServerUnauthorizedException)(New FaultContracts.TeamFoundationServerUnauthorizedException())
Catch ex As System.Exception
  Throw New FaultException(Of System.Exception)(ex, “Failed to do team server thing”, New FaultCode(" Team Foundation Server  :EH:S:0001"))
End Try

This will allow you to handle Team Foundation Server  exceptions for your Windows Communication Foundation  service application on the client.

Technorati Tags: ALM    TFS 

blog tfs

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

Teleplan Logo
Milliman Logo
Big Data for Humans Logo
Lockheed Martin Logo
Graham & Brown Logo
Microsoft Logo
SuperControl Logo
Boxit Document Solutions Logo
Healthgrades Logo
Freadom Logo
Deliotte Logo
Alignment Healthcare Logo
Bistech Logo
Capita Secure Information Solutions Ltd Logo
MacDonald Humfrey (Automation) Ltd. Logo

NIT A/S

CR2

Sage Logo
Washington Department of Transport Logo
New Hampshire Supreme Court Logo
Department of Work and Pensions (UK) Logo
Nottingham County Council Logo
Ghana Police Service Logo
Royal Air Force Logo
Hubtel Ghana Logo
Genus Breeding Ltd Logo
Illumina Logo
Emerson Process Management Logo
ProgramUtvikling Logo
Teleplan Logo