throw new Exception ("msg" + e); throws a new Exception with a message that’s a concatenation of "msg" and e.toString(), losing e stacktrace in the process.
throw new Exception ("msg", e); throws a new Exception with a message "msg" and e as the cause.
solved Difference between +e vs , e in throw Exception