it is: GL_INVALID_VALUE is generated if buffer is not a name previously returned from a call to glGenBuffers.
it should be INVALID_OPERATION, spec reference:
BindBuffer fails and an INVALID_OPERATION error is generated if buffer is
not zero or a name returned from a previous call to GenBuffers, or if such a name
has since been deleted with DeleteBuffers.
BTW. gl3 core spec does not specify any error, 3.1 and higher states as above