La capture de Java erreurs

J'ai entendu dire que la capture de java.lang.Error est considéré comme une mauvaise pratique.
Je suis en train de charger un .dll qui n'est pas la garantie d'être sur le CHEMIN, et souhaite passer à un utilisateur l'emplacement configuré dans le cas où il n'est pas.

try {
    System.loadLibrary("HelloWorld");
} catch(UnsatisfiedLinkError ule){
    System.load("C:/libraries/HelloWorld.dll");
}

Est-il une meilleure manière de faire ceci? Ou est la capture de la UnsatisfiedLinkError ici acceptable?

  • Pas d'idée sur le droit de la convetion ici, mais vous pouvez tester si le fichier existe avant d'essayer... new File("path/helloworld.dll").exists() .... (edit: mauvaise suggestion, j'ai mal lu le code)
  • Je pense qu'il serait une solution acceptable.
  • Vous devez rechercher tous les répertoires dans le java.library.path
  • Je suppose que dans ce cas c'est ok. Bien que vous pourriez juste besoin de tester si le fichier extists à l'avance... Mais ce n'est pas si amusant que vous avez à la recherche par le biais de tout le chemin à la main...
  • Je ne vois pas de problème avec ça.