no data found什么意思

网友 1

最佳答案

回答者:网友

NO_DATA_FOUND并不是一个错误,而且一个意外的情况,这类似于空指针异常,而这个意外情况只是没找留队切角互岁训斯题到数据而已,当调用者不同时,对其的处理也不同。

当sql查询调用时,遇到这个异常就认为是没有数据,然后返回一个Null,但是当PL/sql调用时,会认为这是一个不好的情况,转由异常处理块处理。 归根结底一句话,NO_DAT福元曾A_FOUND都会变溶由调用者捕获,只是调用者对这个异常的处理方式不一样而已。

对于【异常总是会抛来自出,只是客户端(调用者)对其处理方式不一样】,可以这样理解:

当用pl/sql调试时,运行到1403异常处,pl/sql调试器的处理方式就是立刻弹出一个错误信息;而sql调用时,这地方异常也会抛出,但是sql查询器会认为,哦,没有数据,查询器360问答选择了用一个null值应对这客汽手此个异常,而作为执行sql的我们,所看到的就是一个空值,而没有报错。

这类似于我意足们写java程序对异常的处理,有的异常我们会直接抛给用户,让用户知道出错了,而有的异常被我们吃掉下仅经变喜房农,然后选择了别的处理方法,用户看到的是另外一个情形,他根本不知道后台有异常发生。

这也就是对于【异常存在,只是移右封附厚财怎么应对】的解释。


我来回答