Discussion:
BLAT error handling
(too old to reply)
aatcbbtccctc
2003-12-14 03:33:16 UTC
Permalink
Hi folks

I'm considering using BLAT.DLL to add a "mailmerge to email" function
to my primary software product. This would let the users send
customized emails to selected people, without having to type in each
one manually.

But one thing worries me about whether BLAT is really ready
for "prime time". That is, the error handling (or lack thereof!). My
users will need a simple notification of any errors that occur. For
example: "Could not contact mail server"; "Address rejected:
***@blah.com", & so on.

I can't see how to do that, given the limited number of error codes,
& the use of certain codes for multiple (different) error conditions.
(Eg. error 99 means, "the server is down or the address is invalid or
the parameters are incorrect or today is a bank holiday or your
brother's hat is on the wrong peg!")

So here's my question. To people who have integrated BLAT into a
production application: how do you approach the error handling? How
does your calling code determine what has gone wrong, & produce an
accurate message that a non-technical user can understand?

Thanks in anticipation,
TC



------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/dkFolB/TM
---------------------------------------------------------------------~->

Homepage:
http://www.blat.net
a***@yahoo.com
2003-12-17 01:28:52 UTC
Permalink
Post by aatcbbtccctc
Hi folks
I'm considering using BLAT.DLL to add a "mailmerge to email"
function
Post by aatcbbtccctc
to my primary software product. This would let the users send
customized emails to selected people, without having to type in each
one manually.
But one thing worries me about whether BLAT is really ready
for "prime time". That is, the error handling (or lack thereof!). My
users will need a simple notification of any errors that occur. For
I can't see how to do that, given the limited number of error
codes,
Post by aatcbbtccctc
& the use of certain codes for multiple (different) error
conditions.
Post by aatcbbtccctc
(Eg. error 99 means, "the server is down or the address is invalid or
the parameters are incorrect or today is a bank holiday or your
brother's hat is on the wrong peg!")
So here's my question. To people who have integrated BLAT into a
production application: how do you approach the error handling? How
does your calling code determine what has gone wrong, & produce an
accurate message that a non-technical user can understand?
Thanks in anticipation,
TC
Er, has no-one ever used BLAT in a production system, requiring
meaningful end-user error messages?

TC



Homepage:
http://www.blat.net
Chip
2003-12-17 03:40:14 UTC
Permalink
Post by a***@yahoo.com
Post by aatcbbtccctc
Hi folks
I'm considering using BLAT.DLL to add a "mailmerge to email"
function
to my primary software product. This would let the users send
customized emails to selected people, without having to type in
each one manually.
But one thing worries me about whether BLAT is really ready
for "prime time". That is, the error handling (or lack thereof!).
My users will need a simple notification of any errors that occur. For
I can't see how to do that, given the limited number of error codes,
& the use of certain codes for multiple (different) error conditions.
(Eg. error 99 means, "the server is down or the address is invalid or
the parameters are incorrect or today is a bank holiday or your
brother's hat is on the wrong peg!")
So here's my question. To people who have integrated BLAT into a
production application: how do you approach the error handling? How
does your calling code determine what has gone wrong, & produce an
accurate message that a non-technical user can understand?
Thanks in anticipation,
TC
Er, has no-one ever used BLAT in a production system, requiring
meaningful end-user error messages?
TC
I cannot comment on myself using Blat in a production environment such as
you intend, but Yahoo had a problem Saturday night and I did not receive
your original message except as an attachment from Tim. Its possible others
on this mailing list also had not received your message.

A fellow named Joe found in September or early October that Sony Online
Entertainment used Blat source version 1.9.4 in their game "Star Wars
Galaxies". While searching through my archived emails I found one from
Bethsoft.com (regarding their PBA Tour Bowling 2001) where they used a
product called Vantive that uses Blat. The email had this header line
"X-Mailer: Blat for Vantive v0". Searching for Vantive on the Internet
finds it has been incorporated into PeopleSoft CRM.

How do either of these products deal with Blat's exit codes? I don't know,
but they must somehow.

Chip


Homepage:
http://www.blat.net
a***@yahoo.com
2003-12-18 04:57:22 UTC
Permalink
Post by Chip
Post by a***@yahoo.com
Post by aatcbbtccctc
Hi folks
I'm considering using BLAT.DLL to add a "mailmerge to email"
function
to my primary software product. This would let the users send
customized emails to selected people, without having to type in
each one manually.
But one thing worries me about whether BLAT is really ready
for "prime time". That is, the error handling (or lack thereof!).
My users will need a simple notification of any errors that
occur. For
Post by Chip
Post by a***@yahoo.com
Post by aatcbbtccctc
I can't see how to do that, given the limited number of error codes,
& the use of certain codes for multiple (different) error
conditions.
Post by Chip
Post by a***@yahoo.com
Post by aatcbbtccctc
(Eg. error 99 means, "the server is down or the address is
invalid or
Post by Chip
Post by a***@yahoo.com
Post by aatcbbtccctc
the parameters are incorrect or today is a bank holiday or your
brother's hat is on the wrong peg!")
So here's my question. To people who have integrated BLAT into a
production application: how do you approach the error handling? How
does your calling code determine what has gone wrong, & produce an
accurate message that a non-technical user can understand?
Thanks in anticipation,
TC
Er, has no-one ever used BLAT in a production system, requiring
meaningful end-user error messages?
TC
I cannot comment on myself using Blat in a production environment such as
you intend, but Yahoo had a problem Saturday night and I did not receive
your original message except as an attachment from Tim. Its
possible others
Post by Chip
on this mailing list also had not received your message.
A fellow named Joe found in September or early October that Sony Online
Entertainment used Blat source version 1.9.4 in their game "Star Wars
Galaxies". While searching through my archived emails I found one from
Bethsoft.com (regarding their PBA Tour Bowling 2001) where they used a
product called Vantive that uses Blat. The email had this header line
"X-Mailer: Blat for Vantive v0". Searching for Vantive on the
Internet
Post by Chip
finds it has been incorporated into PeopleSoft CRM.
How do either of these products deal with Blat's exit codes? I don't know,
but they must somehow.
Chip
Thanks Chip. It seriously concerns me that no-one can answer this
question. There's no way that I will use a product that prevents me
from giving the user a meaningful message about what went wrong.

Perhaps (as you say) my post got missed. Hopefully someone else might
read this one. I'm keen to use Blat, but at present, I feel that this
issue makes it "definitely not ready for prime time", from a serious
development viewpoint.

Thanks,
TC



Homepage:
http://www.blat.net
Chip
2003-12-18 06:04:29 UTC
Permalink
Post by a***@yahoo.com
Thanks Chip. It seriously concerns me that no-one can answer this
question. There's no way that I will use a product that prevents me
from giving the user a meaningful message about what went wrong.
Perhaps (as you say) my post got missed. Hopefully someone else might
read this one. I'm keen to use Blat, but at present, I feel that this
issue makes it "definitely not ready for prime time", from a serious
development viewpoint.
Thanks,
TC
Consider this. If every possible error that could occur were given a unique
message, to be as verbose (clear?) as possible, we would have error messages
coming out our ears. Also, when Blat does eventually examine the Enhanced
Status Codes that might be returned from a server, that would add to the
list of potential error messages and codes which Blat would have to manage,
while these code might help Blat figure out what the true problem is. If
the server does not support Enhanced Status Codes, then Blat is left (as
now) to guess what the problem really is. This may help explain why there
are fewer exit codes than you may desire. There has to be a trade-off
between the number of error messages and error codes returned.

Are there specific error conditions that you would like to see expanded,
enhanced, or otherwise made clearer? We could handle that task a lot easier
than trying to create messages for every conceivable error now and into the
future.

Chip


Homepage:
http://www.blat.net
aatcbbtccctc
2003-12-19 05:22:10 UTC
Permalink
Post by Chip
Post by a***@yahoo.com
Thanks Chip. It seriously concerns me that no-one can answer this
question. There's no way that I will use a product that prevents me
from giving the user a meaningful message about what went wrong.
Perhaps (as you say) my post got missed. Hopefully someone else might
read this one. I'm keen to use Blat, but at present, I feel that this
issue makes it "definitely not ready for prime time", from a
serious
Post by Chip
Post by a***@yahoo.com
development viewpoint.
Thanks,
TC
Consider this. If every possible error that could occur were given a unique
message, to be as verbose (clear?) as possible, we would have error messages
coming out our ears. Also, when Blat does eventually examine the Enhanced
Status Codes that might be returned from a server, that would add to the
list of potential error messages and codes which Blat would have to manage,
while these code might help Blat figure out what the true problem is. If
the server does not support Enhanced Status Codes, then Blat is left (as
now) to guess what the problem really is. This may help explain why there
are fewer exit codes than you may desire. There has to be a trade-
off
Post by Chip
between the number of error messages and error codes returned.
Are there specific error conditions that you would like to see
expanded,
Post by Chip
enhanced, or otherwise made clearer? We could handle that task a lot easier
than trying to create messages for every conceivable error now and into the
future.
Chip
Hi Chip
Post by Chip
From my viewpoint as an application developer, I see the errors
falling into 3 main classes:

(1) Parameter errors
(2) Server errors (can't connect, etc.)
(3) From/To address errors.

I would expect to fix all class (1) errors during development. So any
kind of notification is fine for those; runtime faults, obscure log
files, cryptic return codes, or whatever.

Obviously, one could >not< expect to "fix" all class (2) errors
during development. But I would like a simple way to trap that class
of error, when it occured at runtime. Then I could tell the user what
is hapenning, and how to proceed. For example: "Sorry, there is a
problem contacting your Email service. Please send a copy of the
following log file to your product representative for examination:
C:\blah.log"

With class (3) errors, I would like to be able to say: "Sorry, your
Email service did not accept the 'from' address: ***@blah.com.
Error: '345 Rejected because today is a Monday!' Please correct that
address, or contact your product representative for further
assistance." Similarly with rejected To: addesses.

I am certainly not asking for BLAT to generate those messages for me!
I simply want enough information for >me< to generate them, at
runtime, when so required. The problem for me is, that I can not see
that BLAT >provides< enough information for me to actally do that;
except perhaps by parsing the logfile - which I really do not want to
do, for obvious reasons.

Unfortunately I do not have the specific knowledge & tools to make
suitable changes to BLAT, myself. So I'm not sure where this leaves
me now. BLAT is clearly very capable, but I simply cannot display to
the user, a message like: "Sorry, an unknown error has occurred.
Please try again!" That is just not on, in a productionm scenario
where the users are not (& do not have access to) programmers.

Any suggestions?

Cheers,
TC


Homepage:
http://www.blat.net
aatcbbtccctc
2003-12-19 06:18:35 UTC
Permalink
Post by a***@yahoo.com
Post by Chip
Post by a***@yahoo.com
Thanks Chip. It seriously concerns me that no-one can answer this
question. There's no way that I will use a product that
prevents
Post by a***@yahoo.com
me
Post by Chip
Post by a***@yahoo.com
from giving the user a meaningful message about what went wrong.
Perhaps (as you say) my post got missed. Hopefully someone else
might
Post by Chip
Post by a***@yahoo.com
read this one. I'm keen to use Blat, but at present, I feel
that
Post by a***@yahoo.com
this
Post by Chip
Post by a***@yahoo.com
issue makes it "definitely not ready for prime time", from a
serious
Post by Chip
Post by a***@yahoo.com
development viewpoint.
Thanks,
TC
Consider this. If every possible error that could occur were
given
Post by a***@yahoo.com
a unique
Post by Chip
message, to be as verbose (clear?) as possible, we would have
error
Post by a***@yahoo.com
messages
Post by Chip
coming out our ears. Also, when Blat does eventually examine the
Enhanced
Post by Chip
Status Codes that might be returned from a server, that would add
to the
Post by Chip
list of potential error messages and codes which Blat would have
to
Post by a***@yahoo.com
manage,
Post by Chip
while these code might help Blat figure out what the true problem
is. If
Post by Chip
the server does not support Enhanced Status Codes, then Blat is
left (as
Post by Chip
now) to guess what the problem really is. This may help explain
why there
Post by Chip
are fewer exit codes than you may desire. There has to be a
trade-
Post by a***@yahoo.com
off
Post by Chip
between the number of error messages and error codes returned.
Are there specific error conditions that you would like to see
expanded,
Post by Chip
enhanced, or otherwise made clearer? We could handle that task a
lot easier
Post by Chip
than trying to create messages for every conceivable error now
and
Post by a***@yahoo.com
into the
Post by Chip
future.
Chip
Hi Chip
From my viewpoint as an application developer, I see the errors
(1) Parameter errors
(2) Server errors (can't connect, etc.)
(3) From/To address errors.
I would expect to fix all class (1) errors during development. So any
kind of notification is fine for those; runtime faults, obscure log
files, cryptic return codes, or whatever.
Obviously, one could >not< expect to "fix" all class (2) errors
during development. But I would like a simple way to trap that
class
Post by a***@yahoo.com
of error, when it occured at runtime. Then I could tell the user what
is hapenning, and how to proceed. For example: "Sorry, there is a
problem contacting your Email service. Please send a copy of the
C:\blah.log"
With class (3) errors, I would like to be able to say: "Sorry, your
Error: '345 Rejected because today is a Monday!' Please correct that
address, or contact your product representative for further
assistance." Similarly with rejected To: addesses.
I am certainly not asking for BLAT to generate those messages for me!
I simply want enough information for >me< to generate them, at
runtime, when so required. The problem for me is, that I can not see
that BLAT >provides< enough information for me to actally do that;
except perhaps by parsing the logfile - which I really do not want to
do, for obvious reasons.
Unfortunately I do not have the specific knowledge & tools to make
suitable changes to BLAT, myself. So I'm not sure where this leaves
me now. BLAT is clearly very capable, but I simply cannot display to
the user, a message like: "Sorry, an unknown error has occurred.
Please try again!" That is just not on, in a productionm scenario
where the users are not (& do not have access to) programmers.
Any suggestions?
Cheers,
TC
So, let me say what I would ask for, if I could get whatever I wanted!

I would like two error items returned to me >from the DLL version<.

The first item is, a number to indicate the class of error as
described above. Eg. 1, 2, 3; or 100, 200, 300 - whatever. Longer
numbers (say 100000, 200000, 300000) would be just as easy to code,
and would open the way to refining the numbers down the track, if
anyone wanted to do that. (Eg. 100001 = this parameter error, 100002
= that parameter error, & so on. But I personally do not need that
level of detail.)

The second item is, more information on what caused the error to
occur. TYhis is what I personally would need for that item, >in
addition to< whatever information is already available via the log
file, existing return codes, debug outputs & so on.

o for class (1) errors: nothing extra required.

o for class (2) errors: the SMTP reply line, if that reply is what
caused BLAT to conclude that the connection could not be established.
For other causes, eg. winsock errors, a generic message would do.

o for class (3) errors, the relevant From or To addess, and the
SMTP reply line which causes BLAT to conclude that this address had
been rejected. The two parts could be seperated with a suitable
character (eg. address\reply), or the first part could be preceded by
a character count (eg. "005a<at>b.c345 Error!"), or whatever.

This method would be easily extendable by/for other people, when
required. For example, if someone else >did< need more information
about parameter errors, they could mod the source to start returning
detailed messages for the class (1) errors.

Yes? No?

TC



Homepage:
http://www.blat.net

q***@yahoo.com
2003-12-18 05:49:07 UTC
Permalink
Carl Sagan, ***@yahoo.com & Bill Nye puff their pipes
and discuss "[blat] Re: BLAT error handling"..
I'm keen to use Blat, but at present, I feel that this issue makes it
"definitely not ready for prime time", from a serious development
viewpoint.
There is no issue at all. It's public domain code m'friend.
Get the source and 'make it ready for primetime' if that's the
way you need it.
--
Qe'van the Unclothed, Bard of Nor
http://qevan.home.comcast.net/poetry/
http://texasfilk.home.comcast.net/

... 'Danny, watch me cross a continent for a babe!' 'AGAIN?'



Homepage:
http://www.blat.net
Timothy P. Beck
2003-12-18 22:13:35 UTC
Permalink
TC,

Here's the code I use:

CHOOSE CASE ii_errorcode
CASE -2
is_errormessage = "Email Error: The server actively denied our
connection. The mail server doesn't like the sender name. "
CASE -1
is_errormessage = "Email Error: Unable to open SMTP socket. The server
does not like the 'TO' address or message data. "
CASE 0
is_errormessage = asv_subject + ": Email sent successfully"
CASE 1
is_errormessage = "Email Error: One of the following possible errors
occured:~r~n~r~n" + &
" - Unable to open SMTP socket~r~n" + &
" - SMTP server did not return proper response
code~r~n" + &
" - Unable to send commands to SMTP server~r~n"
+ &
" - SMTP Server does not like To: address~r~n" +
&
" - SMTP Server error accepting message
data.~r~n" + &
" - Bad argument given. Could this be an
authentication problem? "
CASE 2
is_errormessage = "Email Error: One of the following possible errors
occured:~r~n~r~n" + &
" - File (message text) does not exist~r~n" + &
" - SMTP server actively denied the
connection~r~n" + &
" - SMTP server does not like the sender
name~r~n"
IF is_username <> "" THEN
is_errormessage = is_errormessage + &
" - SMTP Server does not support Authentication"
ELSE
is_errormessage = is_errormessage + &
" - SMTP Server requires Authentication for Relay"
END IF
CASE 3
is_errormessage = "Email Error: Error reading the file (message text) or
attached file "
CASE 4
is_errormessage = "Email Error: File (message text) not of type
FILE_TYPE_DISK "
CASE 5
is_errormessage = "Email Error: Error Reading File (message text) "
CASE 12
is_errormessage = "Email Error: -server or -f options not specified and
not found in registry "
CASE 13
is_errormessage = "Email Error: Error opening temporary file in temp
directory "
CASE 4001
is_errormessage = "Email Error: Malloc failed (possibly out of memory)."
CASE 4002
is_errormessage = "Email Error: Error sending data."
CASE 4003
is_errormessage = "Email Error: Error initializing gensock.dll."
CASE 4004
is_errormessage = "Email Error: Version not supported."
CASE 4005
is_errormessage = "Email Error: The winsock version specified by gensock
is not supported by this winsock.dll."
CASE 4006
is_errormessage = "Email Error: Network not ready."
CASE 4007
is_errormessage = "Email Error: Can't resolve (mailserver) hostname."
CASE 4008
is_errormessage = "Email Error: Can't create a socket (too many
simultaneous links?)"
CASE 4009
is_errormessage = "Email Error: Error reading socket."
CASE 4010
is_errormessage = "Email Error: Not a socket."
CASE 4011
is_errormessage = "Email Error: Busy."
CASE 4012
is_errormessage = "Email Error: Error closing socket."
CASE 4013
is_errormessage = "Email Error: Wait a bit (possible timeout)."
CASE 4014
is_errormessage = "Email Error: Can't resolve service."
CASE 4015
is_errormessage = "Email Error: Can't connect to mailserver (timed out if
winsock.dll error 10060)"
CASE 4016
is_errormessage = "Email Error: Connection to mailserver was dropped."
CASE 4017
is_errormessage = "Email Error: Mail server refused connection."
END CHOOSE

ii_errorcode is an instance (associated with the object, not the function)
variable which contains the error code
is_errormessage is also an instance variable which contains the error
message.


Timothy P. Beck
The JDS Solutions Corporation
Makers of WinRetail(TM)
Visit us at www.winretail.com
(760) 710-4444 x115

-----Original Message-----
From: ***@yahoo.com [mailto:***@yahoo.com]
Sent: Tuesday, December 16, 2003 5:29 PM
To: ***@yahoogroups.com
Subject: [blat] Re: BLAT error handling
Post by aatcbbtccctc
Hi folks
I'm considering using BLAT.DLL to add a "mailmerge to email"
function
Post by aatcbbtccctc
to my primary software product. This would let the users send
customized emails to selected people, without having to type in
each
Post by aatcbbtccctc
one manually.
But one thing worries me about whether BLAT is really ready
for "prime time". That is, the error handling (or lack thereof!).
My
Post by aatcbbtccctc
users will need a simple notification of any errors that occur. For
I can't see how to do that, given the limited number of error
codes,
Post by aatcbbtccctc
& the use of certain codes for multiple (different) error
conditions.
Post by aatcbbtccctc
(Eg. error 99 means, "the server is down or the address is invalid
or
Post by aatcbbtccctc
the parameters are incorrect or today is a bank holiday or your
brother's hat is on the wrong peg!")
So here's my question. To people who have integrated BLAT into a
production application: how do you approach the error handling? How
does your calling code determine what has gone wrong, & produce an
accurate message that a non-technical user can understand?
Thanks in anticipation,
TC
Er, has no-one ever used BLAT in a production system, requiring
meaningful end-user error messages?

TC




Homepage:
http://www.blat.net
aatcbbtccctc
2003-12-19 05:24:03 UTC
Permalink
Tanks for that, Timothy. I'll chreck it out & see if it helps.

TC
Post by Timothy P. Beck
TC,
CHOOSE CASE ii_errorcode
CASE -2
is_errormessage = "Email Error: The server actively denied our
connection. The mail server doesn't like the sender name. "
CASE -1
is_errormessage = "Email Error: Unable to open SMTP socket. The server
does not like the 'TO' address or message data. "
CASE 0
is_errormessage = asv_subject + ": Email sent successfully"
CASE 1
is_errormessage = "Email Error: One of the following possible errors
occured:~r~n~r~n" + &
" - Unable to open SMTP socket~r~n" + &
" - SMTP server did not return proper response
code~r~n" + &
" - Unable to send commands to SMTP server~r~n"
+ &
address~r~n" +
Post by Timothy P. Beck
&
" - SMTP Server error accepting message
data.~r~n" + &
" - Bad argument given. Could this be an
authentication problem? "
CASE 2
is_errormessage = "Email Error: One of the following possible errors
occured:~r~n~r~n" + &
" - File (message text) does not exist~r~n" + &
" - SMTP server actively denied the
connection~r~n" + &
" - SMTP server does not like the sender
name~r~n"
IF is_username <> "" THEN
is_errormessage = is_errormessage + &
" - SMTP Server does not support Authentication"
ELSE
is_errormessage = is_errormessage + &
" - SMTP Server requires Authentication for Relay"
END IF
CASE 3
is_errormessage = "Email Error: Error reading the file (message text) or
attached file "
CASE 4
is_errormessage = "Email Error: File (message text) not of type
FILE_TYPE_DISK "
CASE 5
is_errormessage = "Email Error: Error Reading File (message
text) "
Post by Timothy P. Beck
CASE 12
is_errormessage = "Email Error: -server or -f options not
specified and
Post by Timothy P. Beck
not found in registry "
CASE 13
is_errormessage = "Email Error: Error opening temporary file in temp
directory "
CASE 4001
is_errormessage = "Email Error: Malloc failed (possibly out of memory)."
CASE 4002
is_errormessage = "Email Error: Error sending data."
CASE 4003
is_errormessage = "Email Error: Error initializing gensock.dll."
CASE 4004
is_errormessage = "Email Error: Version not supported."
CASE 4005
is_errormessage = "Email Error: The winsock version specified by gensock
is not supported by this winsock.dll."
CASE 4006
is_errormessage = "Email Error: Network not ready."
CASE 4007
is_errormessage = "Email Error: Can't resolve (mailserver)
hostname."
Post by Timothy P. Beck
CASE 4008
is_errormessage = "Email Error: Can't create a socket (too many
simultaneous links?)"
CASE 4009
is_errormessage = "Email Error: Error reading socket."
CASE 4010
is_errormessage = "Email Error: Not a socket."
CASE 4011
is_errormessage = "Email Error: Busy."
CASE 4012
is_errormessage = "Email Error: Error closing socket."
CASE 4013
is_errormessage = "Email Error: Wait a bit (possible timeout)."
CASE 4014
is_errormessage = "Email Error: Can't resolve service."
CASE 4015
is_errormessage = "Email Error: Can't connect to mailserver
(timed out if
Post by Timothy P. Beck
winsock.dll error 10060)"
CASE 4016
is_errormessage = "Email Error: Connection to mailserver was dropped."
CASE 4017
is_errormessage = "Email Error: Mail server refused connection."
END CHOOSE
ii_errorcode is an instance (associated with the object, not the function)
variable which contains the error code
is_errormessage is also an instance variable which contains the error
message.
Timothy P. Beck
The JDS Solutions Corporation
Makers of WinRetail(TM)
Visit us at www.winretail.com
(760) 710-4444 x115
-----Original Message-----
Sent: Tuesday, December 16, 2003 5:29 PM
Subject: [blat] Re: BLAT error handling
Post by aatcbbtccctc
Hi folks
I'm considering using BLAT.DLL to add a "mailmerge to email"
function
Post by aatcbbtccctc
to my primary software product. This would let the users send
customized emails to selected people, without having to type in
each
Post by aatcbbtccctc
one manually.
But one thing worries me about whether BLAT is really ready
for "prime time". That is, the error handling (or lack thereof!).
My
Post by aatcbbtccctc
users will need a simple notification of any errors that occur. For
I can't see how to do that, given the limited number of error
codes,
Post by aatcbbtccctc
& the use of certain codes for multiple (different) error
conditions.
Post by aatcbbtccctc
(Eg. error 99 means, "the server is down or the address is invalid
or
Post by aatcbbtccctc
the parameters are incorrect or today is a bank holiday or your
brother's hat is on the wrong peg!")
So here's my question. To people who have integrated BLAT into a
production application: how do you approach the error handling? How
does your calling code determine what has gone wrong, & produce an
accurate message that a non-technical user can understand?
Thanks in anticipation,
TC
Er, has no-one ever used BLAT in a production system, requiring
meaningful end-user error messages?
TC
http://www.blat.net
http://groups.yahoo.com/group/blat
Yahoo! Groups Sponsor
ADVERTISEMENT
click here
_____
Yahoo! Groups Links
http://groups.yahoo.com/group/blat/
* Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service.
Post by Timothy P. Beck
[Non-text portions of this message have been removed]
Homepage:
http://www.blat.net
Continue reading on narkive:
Loading...