Node:Handling exceptions in Visual Basic, Previous:Evaluating a query with side effects, Up:How to call Prolog from Visual Basic



Handling exceptions in Visual Basic

If an exception has been raised during Prolog execution, the functions PrologQueryCutFail or PrologNextSolution return -1. To access the exception term, the procedure PrologGetException can be used. This procedure will deposit the exception term in string format into an output parameter, as if written via the writeq/2 predicate.

Example: when the following code fragment is executed, the message box will display the domain_error(_1268 is 1+a,2,expression,a) error string.

   Dim exc As String

   qid = PrologOpenQuery("X is 1+a")
   If PrologNextSolution(qid) < 0 Then
      PrologGetException(exc)
      Msg exc,48,"Error"
   End if