find the error number, and then check for it like this:
'Turn error trapping off
on error resume next
'Execute the statement in question
con.execute sqlStatement
'Do your own customized error checking
if err.number <> 0 then
if err.number = theOneYoureLookingFor then
response.write("There are still subtopics associated."

else
response.write("There was some other error."

end if
err.clear
end if
'Turn error trapping back on
on error goto 0
---------------
If you don't know what err.number you're looking for, simply do the same rigamarole as above, but instead of the:
if err.number <> 0 then
if err.number = theOneYoureLookingFor then
response.write("There are still subtopics associated."

else
response.write("There was some other error."

end if
err.clear
end if
make it:
if err.number <> 0 then
response.write("The error Number is: " & err.number
err.clear
response.end
end if
for the first run of one that you know will throw the error you're looking for. The specific error number will write to the screen, and then you can start trapping that error and providing your own special message.
good luck!

Paul Prewett
ps. This method can be adapted for customized trapping of all errors -- which your users will appreciate you spending the time to do.