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.
Thanks!
I don't want to sound ungreatful, but this doesn't help at all - all additional displayed infos were already known :-|
What I expected for this code
Dim doc As NotesDocument
Msgbox doc.form(0)
was something like "Object Variable Not Set: doc" (ideal would be also the variant's type)
🫣
Love it!
Finally :-)
Please make this happend also that is equally a pain point for troubleshooting
https://domino-ideas.hcltechsw.com/ideas/DDXP-I-382
Love it!
Love it!
Thanks!
Love it!
Love it! Long missed
Finally!
Love it!
This is so good! Thank you!
Thanks!
FIVE YEARS of stubborn ignorance. They do not give a shit for the very basics in this product.
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, ...
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".
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
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.
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.
Create a public function:
'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 :-)
Function foo()
On Error Goto EH
'<Your code here>
EH:
Error Err, getErrorInfo( Me )
End Function
Sub foo()
On Error Goto EH
'<Your code here>
EH:
Error Err, getErrorInfo( "" )
End Sub
Sub Initialize()
On Error Goto EH
Dim session As New NotesSession
'<Your code here>
EH:
Error Err, getErrorInfo( session.CurrentAgent )
End Sub
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