Skip to Main Content
HCL Domino Ideas Portal

Welcome to the #dominoforever Product Ideas Forum! The place where you can submit product ideas and enhancement request. We encourage you to participate by voting on, commenting on, and creating new ideas. All new ideas will be evaluated by HCL Product Management & Engineering teams, and the next steps will be communicated. While not all submitted ideas will be executed upon, community feedback will play a key role in influencing which ideas are and when they will be implemented.

For more information and upcoming events around #dominoforever, please visit our Destination Domino Page

Fix "Object Variable Not Set"

Change the "Object Variable Not Set" error message to "Object Variable Not Set - <NameOfVariable>".  Would save so much client,developer and admin time.

  • Attach files
      Drop here to upload
    • Guest
      Reply
      |
      Feb 28, 2023

      FIVE YEARS of stubborn ignorance. They do not give a shit for the very basics in this product.

    • Guest
      Reply
      |
      Feb 28, 2019

      There should be a new LS version that is based on Eclipse and JVM. This would allow for stack traces, state of the art editing, try-catch-blocks, mixed language programming, multi-threading, easier debugging, ...

    • Guest
      Reply
      |
      Feb 7, 2019

      The line number is superfluous in the message, for this there is Erl.

      <NameOfVariable> is also needed for "Variant does not contain object" and "Type mismatch".

    • Guest
      Reply
      |
      Jan 16, 2019

      Could we also have "Entry not found in Index" report back in a similar way?  We need more information on what object caused the error

    • Guest
      Reply
      |
      Dec 20, 2018

      I created a framework for that (error handling, logging, tracing, unit testing) https://github.com/dev-ng/ls-dl

      Didn't update it on github for a while as I don't see much interest.

    • Guest
      Reply
      |
      Sep 2, 2018

      We can make a stacktrace with linenumbers ourself, but it would be nice if all developers was using the same kind of error handling - and this requires better native support.
       
      DIY Stacktrace
      Create a public function:
      Public Function getErrorInfo( obj As Variant )
       'caveats
       'Getthreadinfo( 2 )/Getthreadinfo( 11 ) only works when running on a server
       'Typename( me ) gives the classname of the initated class - even if the error occurced in another level
       
       Dim session As New NotesSession
       Dim module As String
       If session.IsOnServer Then module = ", module: " & Getthreadinfo( 11 )
       
       Dim object As String 
       Select Case Typename( obj )
       Case "STRING": object = obj
       Case "NOTESAGENT": object = "agent: " & obj.name
       Case Else
        object = "class: " & Typename( obj )
       End Select
       If object <> "" Then object = ", " & object
       
       getErrorInfo = Error & " " & Chr( 10 ) & Getthreadinfo( 10 ) & ", line: " & Erl & object & module
      End Function


      Now include error handling like shown below in ALL subs/functions/methods - and you will have a nice StackTrace :-)
       
       
      From a method in a class
       Function foo()
        On Error Goto EH
         '<Your code here>
       EH:
        Error Err, getErrorInfo( Me )
       End Function
       
      From a module level sub/function
       Sub foo()
        On Error Goto EH
         '<Your code here>
       EH:
        Error Err, getErrorInfo( "" )
       End Sub
       
      From an agent
       Sub Initialize()
        On Error Goto EH
        Dim session As New NotesSession
         '<Your code here>
       EH:
        Error Err, getErrorInfo( session.CurrentAgent )
       End Sub
       
    • Guest
      Reply
      |
      Aug 27, 2018

      Addition to the showing the Error Message when error occurs, Error Number, Error Line Number, Function / Subroutine Name / Design Element Name in which the code exist would be useful.. Similar to Error Stack Trace in C# dotNet were complete details of Error is displayed.  This will save lot of time in tracking the root cause of the Error messages

    • Guest
      Reply
      |
      Jul 18, 2018

      A stack including line numbers is what's needed. It addresses all types of errors, and there's not always actually a variable whose name you can get.

    • Guest
      Reply
      |
      Jul 18, 2018

      I's ask for try-catch blocks in Lotusscript

       

      But line numbers (by default) on error messages would help a lot.

    • Guest
      Reply
      |
      Jul 17, 2018

      +1 for line number. And fix the issue, that line number reported by Errl varieble usualy does not match with source for complex scripts or LotusScript custom classes.

    • Guest
      Reply
      |
      Jul 16, 2018

      it would be great to add line number. Of course proper Error Handling is a MUST, but not all code line written by same professional people. it would help a lot to debug.  May be some masking parameter, like EnableFriendlyObjectVariable= n, where N is sum of (0-disabled, 1-enabled variable , 2, enabled  line number , 4- enabled function name. so summing all this,we might have needed result.