{"id":2497,"date":"2018-03-01T19:17:41","date_gmt":"2018-03-02T00:17:41","guid":{"rendered":"https:\/\/www.manualjava.net\/?p=2497"},"modified":"2018-03-06T14:24:58","modified_gmt":"2018-03-06T19:24:58","slug":"lanzamiento-de-excepciones","status":"publish","type":"post","link":"https:\/\/www.manualjava.net\/?p=2497","title":{"rendered":"Lanzamiento de excepciones"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-2501\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/03\/java41-300x91.png\" alt=\"\" width=\"287\" height=\"87\" srcset=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/03\/java41-300x91.png 300w, https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/03\/java41.png 328w\" sizes=\"(max-width: 287px) 100vw, 287px\" \/><\/p>\n<p><span style=\"color: #000000;\">La sentencia throw levanta una excepci\u00f3n. Cuando se encuentra una excepci\u00f3n la parte del programa que detecta la excepci\u00f3n puede comunicar que la excepci\u00f3n ha ocurrido por levantamiento, o lanzamiento de una excepci\u00f3n.\u00a0<\/span><!--more--><\/p>\n<p><span style=\"color: #000000;\">El formato de throw es:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0throw objeto<\/span><\/p>\n<p><span style=\"color: #000000;\">El operando de throw ha de ser un objeto de una clase derivada de la clase Exception. Una excepci\u00f3n lanzada hace que termine el bloque try, las sentencias que siguen no se ejecutan. El objeto que se lanza puede contener informaci\u00f3n relativa al problema que ha surgido.<\/span><\/p>\n<p><span style=\"color: #000000;\">El manejador catch que captura una excepci\u00f3n realiza un proceso con ella y puede decidir devolver control, return, o continuar la ejecuci\u00f3n en el mismo m\u00e9todo, a continuaci\u00f3n del \u00faltimo catch. Incluso, la excepci\u00f3n actual se puede relanzar con la misma sentencia:\u00a0<strong>throw objeto.\u00a0<\/strong>Normalmente se utiliza cuando se desea que un segundo manejador sea llamado desde el primero para procesar despu\u00e9s la excepci\u00f3n.<span style=\"color: #000080;\">\u00a0<a style=\"color: #000080;\" href=\"https:\/\/www.manualjava.net\/?p=2470\">(Ver Dise\u00f1o de excepciones)<\/a><\/span><\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">Se supone tres m\u00e9todos, el m\u00e9todo main() tiene un bloque try en el que se llama a deolit(); este m\u00e9todo tiene su bloque try en el que se llama a lopart(). Este \u00faltimo lanza una excepci\u00f3n que es atrapada por el try-catch correspondiente a deolit(), que a su vez relanza la excepci\u00f3n.<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 void lopart() throws NuevaExcepcion{<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\/\/<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0throw new NuevaExcepcion();<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 }<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 void deolit() throws NuevaExcepcion{<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0int i;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0try{<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 i = -16;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 lopart();<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0}<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0catch(NuevaExcepcion n){<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 System.out.println(\u00abExcepci\u00f3n captada, se relanza\u00bb);<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0}<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 }<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 public static void main(String[] args){<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0try{<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 deolit();<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0}<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0catch(NuevaExcepcion er){<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 System.out.println(\u00abExcepci\u00f3n capturada en main()\u00bb);<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0}<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 }<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La sentencia throw levanta una excepci\u00f3n. Cuando se encuentra una excepci\u00f3n la parte del programa que detecta la excepci\u00f3n puede comunicar que la excepci\u00f3n ha ocurrido por levantamiento, o lanzamiento de una excepci\u00f3n.\u00a0<\/p><p><a class=\"more-link btn\" href=\"https:\/\/www.manualjava.net\/?p=2497\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":2501,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"_links":{"self":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/2497"}],"collection":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2497"}],"version-history":[{"count":19,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/2497\/revisions"}],"predecessor-version":[{"id":2719,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/2497\/revisions\/2719"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/media\/2501"}],"wp:attachment":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2497"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}