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

Issue

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

Environment

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

References

Have more questions?

0 Comments

Please sign in to leave a comment.