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
}
}
}