Try catch while y tiro porque me toca

Hola. Bueno, he aquí mi pregunta. Me he topado con un problema y es he hecho un script para una mano por el cual seleccione un número de dedos y falanges por spinner, ¿ok? Bien, pues resulta que los puntos de las falanges van emparentados. Por ejemplo, si quiero que la mano tenga 3 falanges tengo:

Código PHP:


falange1.parent falange 2;falange2.parent falange3



el problema es que, si decido que quiero la mano tenga 2 falanges la falange3 no existe, con lo cual peta el script porque no encuentra el padre de la falange2.

La solución guarra que he hecho para que todo funcione bien es:

Código PHP:


try (falange1.parent falange 2) catch (),try (falange2.parent falange 3) catch (), 



.

Como aquí es solo una línea no parece muy guarrada, pero en el script donde tengo además las combinaciones del número de dedos a la que he hecho lo mismo pues queda algo chapucero. Funciona todo bien pero me gustaría saber cómo hacerlo como toca. Se que hay algo de while no sé, no sé cuántos, pero no se usarlo. Gracias.