On Mon, Jul 27, 2015 at 9:08 AM, Stas Malyshev <smalys...@gmail.com> wrote:

> Hi!
>
> Looking into some issue, I've discovered that, to my surprise,
> > Exceptions are serializable. Except that it doesn't always work of
> > course (e.g. see http://stackoverflow.com/q/9747813/214196) because
> > exceptions contain backtraces, and those can contain non-serializable
> > objects. So in reality, you never know if you can serialize it or not.
> >
> > So, I wonder - would it be ok to make exceptions not serializable at
> > all? I think that would prevent major WTF factor when people try it and
> > it randomly fails.
> >
>
> Since discussion on this did not lead to a definite conclusion, but I did
> not hear from anybody that they need serialized exceptions, and we keep
> getting bug reports about exception serialization and various issues
> triggered by it, I propose this change:
> https://github.com/php/php-src/pull/1442
>
> Since it is kind of BC break (even though I assume it breaks something that
> needed not to be allowed in the first place) I'd like to merge it in 7.0.0.
> Please object if you think this should not be done and explain why.
> Otherwise I intend to merge it after a suitable wait and after adding
> necessary tests/docs.
>

-1 on this. If there is no technical problem with serializing the Exception
class itself, it should be possible to serialize it. It can always happen
that an object contains some not-serializable member, this is nothing
specific to exceptions. I don't see the point of this change.

Also, Christian Stoller's mail pointed out that Symfony uses serialized
exceptions.

Nikita

Reply via email to