数据库应用技术应用第五章面向过程SQL扩展.pptVIP

  • 3
  • 0
  • 约1.34万字
  • 约 67页
  • 2019-10-26 发布于广东
  • 举报

数据库应用技术应用第五章面向过程SQL扩展.ppt

* * * * * * * * * * * * * * * * * * * * * * * * * * 注:学术界对于如何界定错误和异常有不同争论,我们这里认为,各种非正常的状态称为错误,而异常是错误处理的一种机制。 一般地说,计算机程序必须能够处理错误,因为有正常的情况,就有不正常的情况,不能处理这种状态的程序是不可靠的,不够“鲁棒”。 * A:返回值。我们常用函数的返回值来标志成功或者失败,甚至是失败的原因。但是这种做法最大的问题是如果调用者不主动检查返回值也是可以被编译器接受的,你也奈何不了它。这在C++中还导致另外一个问题,就是重载函数不能只有不同的返回值,而有相同的参数表,因为如果调用者不检查返回值,则编译器会不知道应该调用哪个重载函数。 B:全局状态标志。例如系统调用使用的errno。返回值不同的是,全局状态标志可以让函数的接口(返回值、参数表)被充分利用。函数在退出前应该设置这个全局变量的值为成功或者失败(包括原因),而与返回值一样,它隐含的要求调用者要在调用后检查这个标志,这种约束实在是同样软弱。全局变量还导致了另外一个问题,就是多线程不安全:如果多个线程同时为一个全局变量赋值,则调用者在检查这个标志的时候一定会非常迷惑。如果希望线程安全,可以参照 errno的解决办法,它是线程安全的。 * * * * * * * * * * * * * 维护触发器 ALTER

文档评论(0)

1亿VIP精品文档

相关文档