所以,如果我得到了一个连接池,那么会发生意外,并抛出错误,我需要额外释放一个连接吗?一旦抛出错误,MySQL连接池会发生什么情况?
您没有告诉我们您使用的是什么编程语言,也没有告诉我们要捕获什么类型的异常。所以很难具体说明。
一般来说,答案是是。始终释放/处置/取消分配任何资源,如连接和游标。这类资源有时被称为串行可重用资源。如果你不释放它们,它们最终会用完,你的程序也会停止工作。如果你幸运的话,它会坠毁。如果你运气不好,它只会挂在那里等待一个永远不会到来的资源。
有些语言使用try {} catch() {} finally {}
模式来释放分配的资源。将连接释放代码放入finally{}
块中,它将始终运行。
C#使用CCD_ 3。这种模式确保资源的.dispose()
方法始终被调用,即使块中的代码抛出异常。
你越小心,你的程序运行的时间就越长,不会因为某种资源泄漏而崩溃。我提到的语言结构正是为了有力地解决你的问题而发明的。