Una opción es controlar la excepción que da al introducir otro caracter que no sea double, en este caso esa excepción es: "InputMismatchException", para capturar esa excepción y hacer "algo" con el código cuando se de, tenemos que usar un try & catch como te han indicado, aquí te paso un ejemplo de lo que creo querías hacer:
Código
try{ double n = teclado.nextDouble(); } catch (InputMismatchException ex) { }
Ya dependiendo del objetivo podrías meter la petición del precio dentro de un bloque do while para que volviese a pedirle hasta que diese un valor double valido.