在对数据库操作时如果出错是会引发时实错误的。只要在函数内判断错误内容就可以了。
dim StartTrans as boolean
On error goto err_handle
con.BeginTrans
starttrans=true
...
cnn.committrans
starttrans=false
exit sub
err_handle:
if starttrans=true then
  cnn.rollback
endif