throw new exception("blabla") è utilissimo non foss'altro per debug.
Per quanto riguarda l'uso dell'attributo webmethod, l'ho provato con jquery e senza jquery, ma non mi convince molto
ps. in questo caso non userei il redirect ma, come suggerito, userei le eccezioni in modo da andare nel blocco Catch e mostrare al client un messaggio di avviso