CUDA and exceptions

Being new in CUDA development I’ve experimented getting errors from kernel. I’ve found that it is actually hard to generate errors. I’ve tried read and write out of bounds arrays (global and shared), read and write 0 addresses and CUDA did not have any problems. I was able to generate error (unknown kernel error) only if I write to memory that is really far away from valid one.
Is it the same as in CPU (using C)? How CUDA releases corrupted memory? What should I expect?

You should expect exactly the same behaviour as you would from a CPU - namely, that subsequent behaviour is undefined. Possible behaviours include (without implying any limit or restriction) melting the entire machine to a puddle of silicon, in order to prevent such a error from occurring again. If you’re prepared to risk that, you could probably work out the virtual page size (or equivalent) on the GPU, with your tests of how far out of bounds you can go without ULFing.