Jeff, Good comments. The following paragraphs correspond to the paragraphs in your text.
Regarding ditching the numbered error messages, I'll take a look at the code. It might be possible to redefine the ERM and other macros. Aside from the fact that it makes the code look rather nasty, what is the problem with having numbered error messages? I'm assuming that the user will never see the numbers. The difficulty in eliminating them is that the code is written so that each function returns a code indicating success or failure. In the case of failure, the integer error number is returned. I could keep the table of messages and have the error macros store the indexed message in a static and then return just a single error code. I could alternatively, define each of the NCE_ERROR_MSG_CODEs to be the string representing the message. Then the macros would store the codes and return a single error value. I believe that would meet both the letter and spirit of what you want. There is a utility that will scan a set of files and generate the message catalog. I believe that should facilitate translation in the sense that it will be no worse than present. It would be pretty easy to generate a call stack traceback. The hard part is displaying it. I can write it to stderr, or to a file, or even to a hunk of shared memory, or a named pipe. The issue would be displaying it to the user. Any suggestions on how to integrate that with Axis? My inclination would be to write it to a named pipe that Axis would open when it was started. Then Axis could have another tab that displayed the 'error log'. I've already written code so that the user can put debugging stuff in comments. (debug, Feed = #6) will be expanded to show the value of parameter #6 and be output (could be to the named pipe if we do that). I could add a special comment (traceback, ...) that would generate the stack trace at the command of the user. Again, thanks for the comments and suggestions. Ken [EMAIL PROTECTED] Mark Kenny Products Company, LLC 55 Main Street Voice: (203)426-7166 Newtown, CT 06470 Fax: (203)426-9138 http://www.MarkKenny.com -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Jeff Epler Sent: Monday, February 05, 2007 3:22 PM To: EMC developers Subject: Re: [Emc-developers] Better Error Handling For The Interpreter I don't like the idea of having a hundred numbered errors and a hundred more errors with the same number. If you're going to add even one unnumbered message (or two messages with the same number) then ditch the error numbers altogether. Make sure the support for translating error messages is no worse than it is under the current system -- right now, AXIS can display the interpreter error messages translated into the user's language if a message catalog has been prepared. Since we have stuff like a "call stack" now, have a way to provide that call stack to the user of the library, so that I can tell which call to 'o999 sub' caused the problem. Inspecting variable values should be possible too. You've created a programming language, it's time to write the source-level debugger, or at least the hooks that make one possible. Provide a way for the program to specify its own error messages. If 'o999 sub' required that one argument be an angle between -180 and 180, let it show that to the user and end parsing. (in this case, the requirement that the message be automatically translatable is waived) Jeff ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
