This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Evaluating Exception Numbers

Hi people,

I'm trying to evaluate the number i.e. error code of an exception thrown within a script. I know that using the class ViException allows me to access "Number" which is not available in the class Exception.

I've tried catching an exception as a ViException. This doesn't work because Visual Studio tells me that I then have an unhandled exception i.e. the exception is not caught properly.

So I try to catch as an exception an Exception. Now I can catch an exception but I am unable to access "Number". It is not possible to cast an Exeption as a ViException.

What I'm trying to do is to evaluate the error code, such that I am able to ignore; for example, duplicate errors (ViException.Number = 810303). This would allow me to skip checking for duplicates before committing the object.

The above stated variants are in the code below. I was wondering if any of you had success in this matter before.

Thanks a lot in advance! - Regards

Ryu

' Variant 1
' Cannot catch ex as ViException (unhandled exception occurs)
Try
    Using t As New Transaction(Session)
        object.Save(Session) ' unhandled exception occurs here
        t.Commit()
    End Using
Catch ex As ViException
    ' Ignore duplicate errors (810303)
    If Not CType(ex, ViException).Number.Equals(810303) Then
        Throw New Exception(ex.InnerException)
    End If
End Try

' Variant 2
' Cannot cast Exception as ViException
Try
    Using t As New Transaction(Session)
        object.Save(Session)
        t.Commit()
    End Using
Catch ex As Exception
    ' Ignore duplicate errors (810303)
    If Not CType(ex, ViException).Number.Equals(810303) Then
        ' Cannot cast type error occurs above
        Throw New Exception(ex.InnerException)
    End If
End Try