Re: Error message style guide, take 2
От | Kevin Brown |
---|---|
Тема | Re: Error message style guide, take 2 |
Дата | |
Msg-id | 20030516221811.GC25086@filer обсуждение исходный текст |
Ответ на | Re: Error message style guide, take 2 (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Tom Lane wrote: > Kevin Brown <kevin@sysexperts.com> writes: > > Dann Corbit wrote: > >> I really like the way the RDB and VMS log error messages. > > > I'm very much in agreement here. In addition to the advantages listed > > above, this scheme is vastly superior to simply issuing error numbers > > because the reader can at least get an idea of what the error itself > > actually is even if he doesn't have the detail text associated with > > the error. > > I didn't actually see anything to it except for a very ugly spelling of > ERROR:, NOTICE:, WARNING:, etc. What exactly is there in their scheme > that you can't do as well or better with our existing practices? If the text of the error message is always reported to the client library *and* the client always reports the full text of the error to the user (and perhaps to the log), then clearly there would be no advantage of the RDB/VMS error scheme over simply reporting error numbers + associated error text. But far too often, I've seen client code (not necessarily PG-related, mind you) report an error number only without bothering to also include the error text. Since I was under the impression that we were going to separate error codes from error text in the protocol, it's possible for a client to report an error code without also reporting the corresponding error text. In that situation, the RDB/VMS error scheme has significant advantages. So it all depends on what happens on the client end, but I'd much rather give users as much to work with as possible, even in the face of poorly written clients. If you think of how often you've seen programs report an error number generated by a system call without bothering to also report the associated error text (via strerror(), for instance), then you know exactly what I'm talking about. The RDB/VMS scheme gives you a great deal of readily-accessible information in a very small package. Error numbers don't. So given the choice, I'd rather go with the RDB/VMS scheme if there are no significant drawbacks involved. We certainly don't have to adopt that specific scheme, but I think it would be wise to adopt an error code scheme that has the same advantages. For that purpose, the RDB/VMS scheme is probably at least as good as any other. -- Kevin Brown kevin@sysexperts.com
В списке pgsql-hackers по дате отправления: