{"id":687,"date":"2024-03-01T16:05:33","date_gmt":"2024-03-01T16:05:33","guid":{"rendered":"https:\/\/javigomez.org\/?p=687"},"modified":"2025-09-29T20:33:15","modified_gmt":"2025-09-29T20:33:15","slug":"u11-04-try-catch-excepciones-personalizadas","status":"publish","type":"post","link":"https:\/\/javigomez.org\/index.php\/2024\/03\/01\/u11-04-try-catch-excepciones-personalizadas\/","title":{"rendered":"U11-04-try catch Excepciones personalizadas"},"content":{"rendered":"\n<p>Las excepciones personalizadas permiten crear tus propios tipos de excepciones para manejar errores espec\u00edficos en tu aplicaci\u00f3n. Al usarlas junto con try&#8230;catch, puedes mejorar el control y la claridad del c\u00f3digo al manejar diferentes tipos de errores. <\/p>\n\n\n\n<p><strong>1<\/strong>. Crear una excepci\u00f3n personalizada: Extiende la clase Exception o una subclase existente like RuntimeException para definir tu excepci\u00f3n personalizada. Agrega un constructor con un mensaje opcional para brindar informaci\u00f3n sobre el error. <\/p>\n\n\n\n<p><strong>2<\/strong>. Lanzar la excepci\u00f3n personalizada en tu c\u00f3digo: Utiliza la palabra clave throw seguida de una instancia de tu excepci\u00f3n personalizada cuando ocurra la condici\u00f3n de error. <\/p>\n\n\n\n<p><strong>3<\/strong>. Manejar la excepci\u00f3n personalizada: En el bloque try, coloca el c\u00f3digo que podr\u00eda lanzar la excepci\u00f3n. Agrega un bloque catch espec\u00edfico para la clase de excepci\u00f3n personalizada para manejarla de manera adecuada. <\/p>\n\n\n\n<p><strong>Beneficios: <\/strong><\/p>\n\n\n\n<p>Proporciona un manejo de errores m\u00e1s preciso y significativo. Mejora la legibilidad y mantenibilidad del c\u00f3digo. Permite documentar errores espec\u00edficos y su contexto.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>package U11;\n\nimport java.util.Scanner;\n\npublic class A01004 {\n\n\tpublic static void main(String&#91;] args) {\n\t\t\n\t\tint edad=0;\n\t\t\n\t\ttry {\n\t\t\tedad=pideEdad();\n\t\t} catch (edadErronea e) {\n\t\t\tSystem.out.println(e);\n\t\t}\n\n\t\tSystem.out.println(edad);\n\t}\n\n\tprivate static int pideEdad() throws edadErronea{\n\t\tint edad=100;\n\t\tif (edad&lt;0)\n\t\t\tthrow new edadErronea();\n\t\tif (edad>99)\n\t\t\tthrow new edadErronea();\n\t\treturn edad;\n\t}\n\n}\n\nclass edadErronea extends Exception{\n\tpublic String toString() {\n\t\treturn \"MI ERROR: Mal la edad\";\n\t}\n}\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Java U11 04 try catch Exception Personalizado\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/wvIL__z319o?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Las excepciones personalizadas permiten crear tus propios tipos de excepciones para manejar errores espec\u00edficos en tu aplicaci\u00f3n. Al usarlas junto con try&#8230;catch, puedes mejorar el &hellip; <\/p>\n","protected":false},"author":1,"featured_media":688,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[139,140,203,334],"class_list":["post-687","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-exception","tag-exception-personalizado","tag-java","tag-try-catch"],"_links":{"self":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/comments?post=687"}],"version-history":[{"count":1,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/687\/revisions"}],"predecessor-version":[{"id":875,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/687\/revisions\/875"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media\/688"}],"wp:attachment":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media?parent=687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/categories?post=687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/tags?post=687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}