我正在使用JNA加载本机库(ffmpeg),但我需要在实际调用Native.loadLibrary()之前检查DLL / SO文件是否存在。 FFMPEG可能并不总是安装在系统中(单独下载)。
Native.loadLibrary()会抛出一个错误,你无法通过try {} catch {}陷阱。
在实际调用loadLibrary()之前,如何检查库(DLL或SO)是否存在? 我是否必须解析PATH环境变量并检查自己?我将不得不检查Windows和Linux,并确保安装正确的32/64位.dll或.so ???
我希望loadLibrary只返回一个空指针或引发异常,而不是错误(设计错误)。
答案 0 :(得分:0)
没关系,我找到了简单的解决方案。
你可以抓住错误。我以为你不能。 我总是使用try {} catch(Exception e){}来捕获所有异常,但这不会捕获错误。 我需要使用try {} catch(错误e){}或catch(UnsatisfiedLinkError ule){}。
每天学习新知识。