Pipeline - load throws IOException instead of FileNotFoundException if file not found when run in agent

Article ID:230611487
1 minute readKnowledge base

Issue

Pipeline load directive throws IOException instead of FileNotFoundException if file not found when run in agent.

Resolution

If using a try / catch block to determine the root cause of the exception, you need to unwrap the IOException to uncover the root cause.

Example:

node { try { load 'filethatdoesnotexist.ext' } catch(FileNotFoundException e) { // do something } catch(IOException e) { if(e.getCause() instanceof FileNotFoundException) { // Inner exception is FileNotFoundException // do something } else { // do something else } } }