在最近的一篇文章中,我讲过如何在SQL Server2000中发现问题。在SQL Server 2005中处理错误,最重要的因素是@@ERROR变量。每个语句执行以后,你必须查询这个变量值,以保证没有使事务回滚的错误发生。这种方法有些麻烦,更重要的是,还容易出错。另外,在SQL Server 2000中能够处理的错误类型仅限于某些类型的错误。终止事务或批处理的错误就无法处理,也没有详细的错误信息。
TRYCATCH
SQL Server 2005提供TRYCATCH结构,它出现在许多现代迭代程序语言之中,如Java和C#中。此结构让你通过CATCH结构中的一系列新函数访问更为详细的错误信息,这些函数包括:
ERROR_NUMBER:返回错误号码,与@@ERROR的值相同。
ERROR_SEVERITY:返回调用CATCH块错误的严重程度。
ERROR_STATE:返回错误状态号码。
ERROR_LINE:返回错误发生的行号。
ERROR_PROCEDURE:返回促使错误发生的存储程序和触发器的名称。
ERROR_MESSAGE:返回错误的完整信息文本。
在CATCH块内,你可以在任何地方应用这些函数,它们将返回与发生的错误有关的信息。在CATCH块外,这些函数返回零值。
伊图教程网[www.etoow.com]
http://www.etoow.com/html/2007-08/1187532095.html
SQL Server如何得详细错误处理信息
'http://www.etoow.com/html/2007-08/1187532095.html