made error massage more meaningful and added bitWidth and byteSize

please comment
for consistency to match the ones below
I get confused when it's first `==`and then `!=`