I’d go for the multiple return
statements. This makes the code easy to read and understand.
Don’t use goto
for obvious reasons.
Don’t use exceptions because the check you are doing isn’t exceptional, it’s something you can expect so you should just take that into account. Programming against exceptions is also an anti-pattern.