Check out the docs for the signature of getEdgeVertices()
MStatus getEdgeVertices(int edgeId, int2 &vertexList)
This means it takes and int, and a reference to and int2 array as an output parameter. The return value is simply the MStatus to tell you if an error has occurred. In the python api, that can end up being represented as an exception (if I remember right).
So after you make you call your ref_int2 has the output values you want and you need to use MScriptUtil.getInt2ArrayItem(ref_int2, 0) to get the first vertex value and 1 to get the second. You may be able to index directly into ref_int2[0] but I am not at a computer to test that.