Note that an exception's properties are populated when the exception is *created*, not when it is thrown. Throwing the exception does not seem to modify them.Among other things, this means:* The exception will blame the line that created it, not the line that threw it.* Unlike in some other languages, rethrowing an exception doesn't muck up the trace.* A thrown exception and an unthrown one look basically identical. On my machine, the only visible difference is that a thrown exception has an `xdebug_message` property while an unthrown one doesn't. Of course, if you don't have xdebug installed, you won't even get that.