#dominoforever | Product 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.

  • Guest
  • Jul 15 2018
  • Assessment
  • Attach files
  • Guest commented
    28 Feb, 2019 08:57am

    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 commented
    7 Feb, 2019 09:06pm

    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 commented
    16 Jan, 2019 04:52pm

    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 commented
    20 Dec, 2018 01:35pm

    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 commented
    2 Sep, 2018 11:52am

    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 )
     '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>
      Error Err, getErrorInfo( Me )
     End Function
    From a module level sub/function
     Sub foo()
      On Error Goto EH
       '<Your code here>
      Error Err, getErrorInfo( "" )
     End Sub
    From an agent
     Sub Initialize()
      On Error Goto EH
      Dim session As New NotesSession
       '<Your code here>
      Error Err, getErrorInfo( session.CurrentAgent )
     End Sub
  • Guest commented
    27 Aug, 2018 10:13am

    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 commented
    18 Jul, 2018 06:25pm

    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 commented
    18 Jul, 2018 09:31am

    I's ask for try-catch blocks in Lotusscript


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

  • Guest commented
    17 Jul, 2018 09:03am

    +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 commented
    16 Jul, 2018 04:27pm

    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.