Classical logic says that from a contradiction you can derive anything. I think that depends on how you define a contradiction. If you have two opposing truth values with respect to A, A is true and A is false what can we infer about the truth status of A? Well in one way to look at it you could say that to assert a contradiction means we hold that both statements about A are true regardless of whether they contradict each other. A is true regardless of the contrary position that A is false. Likewise A is false regardless of the contrary position that A is true. If we define a contradiction in this manner then we can separately infer both truth values of A. Given A is true and A is false we can conclude A is true and given A is true and A is false we can conclude that A is false. If you infer A is true from the contradiction then A or B is true. If A or B is true then if A is false then B is true. A is true regardless of whether A is false therefor we can not conclude an explosion occurs. It seems that for Classical logic to make sense of a contradiction in such a way that it leads to explosion that it must define what it means to hold a contradiction in a particular way. I don't know which way it defines a contradiction but wouldn't it be defined in some arbitrary way that forces us into the "explosion" scenario?