CFCatch.type is not always a string

Description

Sometimes the type of a caught exception will not be a string, but a complex object. A lot of error handling code expects type to be a string which can cause errors.

See this example, which I tested in a CommandBox task runner that had a text file called "robots.txt" in the same dir. The exception is expected since the text file is not a valid zip, but the type is unexpectedly a complex value.

The output of this code is

You can see the e.type variable is an instance of the net.lingala.zip4j.exception.ZipException$Type class.

I'm running 5.3.4.59-SNAPSHOT but someone on 5.3.3.62 ran my test and didn't get the error, so this may be a regression.

Environment

None

Assignee

Michael Offner

Reporter

Brad Wood

Priority

New

Labels

None

Fix versions

Affects versions

Configure