Creo SQL%NOTFOUND devuelve true cuando no se encuentran registros. Tu IF se evaluaría como verdadero en ese caso y, por lo tanto, escribiría su put_line en la terminal. La instrucción SQL se ejecutó con éxito. Si ejecuta esa instrucción SQL por sí misma desde la línea de comando, recibirá 0 filas actualizadas/eliminadas, no un error de Oracle.
Si desea que se lance una excepción, puede usar RAISE dentro de tu IF y apúntelo a la excepción en el bloque de excepción que desea lanzar.