Tutorial JavaScript - Parte 6

En este capitulo vamos a ver Try Catch y Throw, para el manejo de excepciones y flujo de datos..
Try
La sentencia try, prueba cierta condicion, pero podria pensarse que con unos alerts, es suficiente, pero en general cuando un usuario ve un alert, puede creer que la pagina es un virus y dejarla (si, asi como lo estas leyendo). Por eso, para el manejo discreto de errores usamos (en JavaScript) la sentencia Try, que va por lo general acompañanada de la sentencia Catch.
NOTA: Como JavaScript es Case Sensitive, entonces deben respetarse las mayusculas y minusculas

try, catch y throw van en minusculas

Try..Catch
Como dijimos anteriormente, el try..catch se usa en junto, es algo parecido al if..else, pero en el try..catch necesitamos de las dos declaraciones de forma obligatoria
Sintaxis
[code]
try
  {
  //aqui podemos probar un codigo
  }
catch(err)
  {
  //tratamietno de errores aqui
  }
[/code]

Voy a darles un ejemplo practico
[code]


<html>
<head>
<script type="text/javascript">
var txt="";
function message()
{
try
  {
  document.getElementById('dani').innerHTML="a";
  }
catch(err)
  {
  txt="Hay un error en la pagina.\n\n";
  txt+="Error: " + err.message + "\n\n";
  txt+="Clic OK.\n\n";
  alert(txt);
  }
}
</script>
</head>
<body>
<input type="button" value="Ver si la declaracion esta bien escrita" onclick="message()" />
</body>
</html>

[/code]
En este ejemplo lo que se hizo fue, probar la sentencia document.getElementById('dani').innerHTML="a";
entonces como hay un error(no existe en el documento ningun elemento con la id dani), se procede a mostrar un error a traves de la propiedad message. Esto quiere decir que haciendo err.message nos va a aparecer un cartel tipo alert, que nos va a alertar sobre el error(si lo hay).  

Throw
Esta sentencia se escribe junto a Catch, y permite (throw) crear una excepcion
que va a ser tratara por separado individualmente.
La excepcion puede ser un numero, un string, un booleano o un objeto.
Sintaxis
[code]

throw  excepcion

[/code]

Ejemplo
[code]
<html>
<body>
<script type="text/javascript">
var x=prompt("Escribi un numero entre 5 y 10","");
try
  { 
  if(x>10)
    {
    throw "Err1";
    }
  else if(x<5)
    {
    throw "Err2";
    }
  else if(isNaN(x))
    {
    throw "Err3";
    }
  }
catch(err)
  {
  if(err=="Err1")
    {
    document.write("Error! El valor es mayor al solicitado.");
    }
  if(err=="Err2")
    {
    document.write("Error! El valor es menor al solicitado.");
    }
  if(err=="Err3")
    {
    document.write("Error! Ese valor no es un numero.");
    }
  }
</script>
</body>
</html>
[/code]
En este codigo sencillamente lo que se hizo fue, crearon excepciones dentro de try (Err1, Err2 y Err3), entonces en catch, decimos si err es igual a Err1(el numero es mayor a diez), lanzamos el codigo que muestra error, y asi con las otras dos.
NOTA :  isNaN es una funcion que prueba si un numero no es un nombre, NaN = Not a Number. entonces se verifica si la variable encerrada entre parentesis (x)  no es igual a un numero.

Descagatelo GRATIS como PDF http://www.mediafire.com/?ahpanvcfia9l5bl

Muchas gracias por leer este tutorial nos vemos en el proximo (: