引发系统库依赖项的异常

Raising an exception for system library dependencies

我有一个使用 wmctrl 库的 Ruby 脚本,我想确保使用我的 CLI 应用程序的任何人都将此作为所有方法的依赖项。将第 3 方库的异常作为 Ruby class 中的依赖项的最佳实践是什么?

我想到的技巧是发出 whatis 系统命令并读取退出状态代码。

`which wmctrl`
unless $? == 0
  raise StandardError, "The wmctrl library is required." 
end 
如果找不到

require 将引发错误,如果您愿意,可以挽救它以指定错误消息:

begin
  require 'wmctrl'
rescue LoadError
  # error handling code here
end