Estoy armando un programa que tiene la siguiente estructura :
 
PROGRAMA PRINCIPAL
	EJECUTO COMANDO LINUX
	EJECUTO PROGRAMA 1
	EJECUTO PROGRAMA 2
	EJECUTO PROGRAMA 3
	EJECUTO PROGRAMA 4
	EJECUTO COMANDO LINUX
FIN PROGRAMA
 
Cada uno de los PROGRAMAS X  es un programa JAVA independiente, que realiza una tarea.
No requiere pasarle parámetros ni nada por el estilo
 
Aca es donde entran mis dudas... a estos programas conviene llamarlos mediante 
 
new PROGRAMA1();
new PROGRAMA2();
 
o ejecutar el comando   java PROGRAMA1  ejemplo
 
String[] command = {"sh","-c",java PROGRAMA1};
final Process process = Runtime.getRuntime().exec(command);
 
Por otro lado:
Como se puede lograr un buen manejo de los errores de forma que si cualquiera de los programas genere  un error, se bloque el PROGRAMA PRINCIPAL y sepa que PROGRAMA X fue el que genero el error
 
ya que puedo tener internamente a cada PROGRAMA X un try {} catch(){}....
No me doy cuenta de que forma ademas de eso o independientemente me controle los errores de los PROGRAMAS X en el PROGRAMA PRINCIPAL...
Tener tipo un LOG o cuando el programa PRINCIPAL falle en cualquier de sus sub programitas... sepa que paso , ya que posiblemente esto me desancadene diferentes acciones dependiendo de que programa fallo
 
Muchas gracias ! 
   
 

