Is there any way to get the actual line number that an error occurs on in conjunction with the Throw statement? Here is a sample:

VB Code:
  1. Private Sub TestErrors()
  2.  
  3.         Try
  4.  
  5.             Dim i As Integer
  6.  
  7.             i = 5
  8.  
  9.             i *= 3
  10.  
  11.             CreateError(i)
  12.  
  13.         Catch ex As Exception
  14.             DisplayException(ex)
  15.         End Try
  16.  
  17.     End Sub
  18.  
  19.     Private Sub CreateError(ByVal i As Integer)
  20.  
  21.         Try
  22.  
  23.             Dim n As Integer
  24.  
  25.             n = CInt(i / n)
  26.  
  27.         Catch ex As Exception
  28.             Throw ex
  29.         End Try
  30.  
  31.     End Sub

In this example, the error stack will report lines 11 and 28 as the error line numbers. I really want to know that line 25 is the "real" root of the error and that line 28 is just where the error was thrown. If I were to handle the exception rather than use a throw, then the stack would report line 25. The problem is, that I need to use throw in many of my objects to allow the calling application to handle exceptions. Any ideas or thoughts?