java程序中捕获不到存储过程抛出的异常

数据库oracle存储过程代码:
图片说明

上面的这个存储过程我在plsql developer里面执行会抛出异常(在24行update sys_org_element语句上抛出)
图片说明

同样的参数在java里面捕获不到,程序就卡死在24行update sys_org_element语句上面
图片说明

(sys_org_element表的fd_id字段是其它表的外键,修改的时候如果外键表有数据就会抛出异常,但是java捕获不到这个异常)
我试过在存储过程中抛出其它异常(比如把字母字符串插入到数字类型字段中),java代码能捕获到,好奇怪。。。

哪位大能能解答下

https://www.cnblogs.com/tapt/p/9599222.html