relaciones entre tablas MySQL

Hola de nuevo! tengo otra pequeña duda:
deseo lanzar una excepcion cuando pretendo Eliminar algun registro relacionado con otra tabla de una base de datos, tengo lo siguiente:
es un listado en una tabla con diferentes nombres de areas de una institucion o una empresa, tengo 3 botones uno agregar, modificar, eliminar, y en el de eliminar tengo el siguiente codigo:
 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Quizás el método eliminarArea

Quizás el método   no esté re-lanzando esa excepción (con   y/o  ) si es que deseas atraparla en ese punto.

Imagen de ezamudio

Exception

no caches Exception. Especifica la excepción que vas a manejar, no algo tan general.

relacion entre tablas

amm pues mi metodo eliminar area esta asi:
 

Evitar la excepción

 

En mi opinión, creo que es mejor verificar que un registro no esté relacionado con otro antes de eliminarlo (de acuerdo con el requerimiento de la OP). Naturalmente eso implicaría una consulta adicional.

 

Si existe la posibilidad de evitar la excepción, ese debería ser el camino a seguir.

¡Por si sirve de algo!

~~~

Método transaccional

Te aconsejaría para que tu registro no se elimine, este método al igual que los otros estén dentro de un bloque transaccional, si el bloque lanza una excepción podrás hacer un rollback a toda la transacción, en caso contrario el commit. Con esto aseguraras que los datos de la base de datos mantenga la integridad.

Imagen de adrianaaae

Es por llaves foraneas

Obviamente el erro es por que el registro que deseas eliminar esta relacionado por medio de una llave foranea (en otra tabla),
Generalmente para eliminar el registro se necesitan eliminar la dependencia o relacion (E-R), para que no este vinculado con otros registros,
de igual manera podrías de acuerdo a tus necesidades tener una bandera de eliminado (eso es lo que yo he hecho alguna vez) como booleano (tyint(1) en mysql) para evitar esos errores y guardar el registro.

Saludos