some method renaming
upToAndThrow's CollectException should have the raised exception as a cause, not the raised exception's cause
added throwing at end support