In casual games with friends, yes. In a more structured/formal setting, like a tournament, no. And not because of lack of integrity, but for a few reasons:
1) Maybe he's doing something unexpected, and now I've just sharked him
2) Maybe he's just trying to look at angles to line up for his next shot, and I just sharked him
3) Maybe *I've* misread the table due to angles/glares, and I just sharked him
4) And, as others have stated, it's his responsibility to make sure he plays correctly
It's not a great situation--I've shot the wrong ball before. Winning because my opponent shot the wrong ball isn't how I'd like to win. But there isn't much to be done in that situation.