Vereis, estoy empezando con esto de Android, y actualmente tengo una clase la cual hace una llamada a un WebService y recibe datos (Aqui os preguntaré otro día, como poder programar un Evento para usar desde la UI, jeje)
Bueno, la cuestión es que todo va perfectamente, desde la UI, me he creado un metodo que engloba una Thread, que a su vez engloba un Handler para procesar mensajes a la UI. Va todo sobre ruedas.
Sin embargo... quería meter una captura de Excepción en esté método para que me lance un AlertDialog, indicando que algo hay ido mal (Por ejemplo, si el webservice está caido, o si el usuario no tiene internet, o cualquier otra cosa)
El método que tengo es el siguiente:
Código:
Bien... debería meter un try{}catch{} en cada métod Run() ??? O podría ahorrarme tanto código y meter un try catch por ejemplo, en el evento del botón que llame al método??? Eso serviria o por ejecutarse todo en una hebra, si hay una excepción ahí dentro, no es capturable desde "fuera" ???private Handler handler; public void StartLogin(final String loginName, final String password) { ProgressBarControl().setVisibility(View.VISIBLE); Runnable runnable = new Runnable() { @Override public void run() { WebServiceManager objService = new WebServiceManager(); final String resultado = objService.StartLogin(loginName, password); handler.post(new Runnable(){ @Override public void run() { ProgressBarControl().setVisibility(View.INVISIBLE); LblErrorControl().setText(resultado); } }); } }; new Thread(runnable).start(); }
Por ejemplo... esto valdría ??
Código:
try { StartLogin(TxtUserControl().getText().toString(), TxtPasswordControl().getText().toString()); } catch (Exception ex) { new AlertDialog.Builder(this).setTitle("Argh").setMessage(ex.getMessage()).setNeutralButton("OK", null).show(); }
En fin... es una tontería, pero espero puedan ayudarme... Desde ya, gracias.