Today I received a random error, the error message read “The type caught or thrown must be derived from
System.Exception”. The reason why this was to me a random error was because I was trying to catch a Microsoft.TeamFoundation.WorkItemTracking.Client.ServerRejectedChangesException exception.
To try and see if maybe this was a bug or maybe my PC needed a reboot or something, I started drilling into the definitions of the exception to try and get all the way through to
Basically, this looked like below:
public class ServerRejectedChangesException : ValidationException
public class ValidationException : ClientException
public class ClientException : TeamFoundationServerException
public class TeamFoundationServerException :
TeamFoundationServerException class, I noticed that the
VssException was not lit up by Visual Studio which to me meant that I didn’t have a reference added to be able to drill into its definition like I was for the previous levels.
I added a reference to
Microsoft.VisualStudio.Services.Common and suddenly the error being thrown when trying to build my project went away. Basically, this allowed the IDE to navigate through to
System.Exception like below:
public abstract class VssException : ApplicationException
public class ApplicationException : Exception
public class Exception : ISerializable, _Exception
It would be cool if this extra reference was not needed, but I understand why it is .