Set each of the projects' Root Namespace to "ExceptionsDemoNS" Create three projects Set Console Ap as startup project Because each math Class is in a differant assemble the client will indicate the source of the error by Assembly name. ex.Source will show '1... VB Console Application Project "MathErrorClient" Module MathErrorClient Sub Main() Dim oMath1 As New ExceptionsDemoNS.MathClass1 Dim oMath2 As New ExceptionsDemoNS.MathClass2 Dim strAnswer As String Console.WriteLine("Starting...") Try strAnswer = oMath1.Add(255, 2) Console.WriteLine("Answer 1 = " & strAnswer) Catch ex As Exception Console.WriteLine("1... Source: " & ex.Source) End Try Try strAnswer = oMath2.Add(255, 2) Console.WriteLine("Answer 2 = " & strAnswer) Catch ex As Exception Console.WriteLine("2... Source: " & ex.Source) End Try Console.ReadLine() End Sub End Module ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '2.... VB Class Library Project "MathClass1" Public Class MathClass1 Public Function Add(ByVal X As Byte, ByVal Y As Byte) As String Dim bAnswer As Byte bAnswer = X + Y Return bAnswer.ToString End Function End Class ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '3.... VB Class Library Project "MathClass2" Public Class MathClass2 Public Function Add(ByVal X As Byte, ByVal Y As Byte) As String Dim bAnswer As Byte bAnswer = X + Y Return bAnswer.ToString End Function End Class