Ver Mensaje Individual
  #9 (permalink)  
Antiguo 05/01/2016, 12:34
Avatar de BramSt
BramSt
 
Fecha de Ingreso: abril-2015
Mensajes: 117
Antigüedad: 9 años
Puntos: 5
Respuesta: ¿Por qué este código necesita lanzar una excepción?

Cita:
Iniciado por Xerelo Ver Mensaje
La API es tu amiga

https://docs.oracle.com/javase/7/doc...va.lang.String)




Dudo que no hayáis visto try/catch, el tema de ver Runtime indica que o bien ya habéis dado bastante temario o simplemente era un ejemplo puntual para que vieseis que java puede interactuar con el sistema operativo, pero entonces no deberías preocuparte de no entenderlo.
Gracias Xerelo.

Realmente para cuando yo vengo a preguntar aquí ya he buscado por Internet para intentar entender las cosas por mi cuenta. Y cuando no lo consigo (por supuesto la documentación de Oracle es lo primero que miro), es cuando recurro a los foros. No me gusta, como bien dice tu firma, preguntar sin haberme esforzado antes.

Y no, en clase no hemos dado aún ni try/ cath ni la clase Runtime nada que se le parezca. De hecho aún estamos aprendiendo lo que son las clases y objetos. Es mi culo inquieto el que me hace estudiar por mi cuenta y claro, a veces me hago la cabeza un lío.

En clase, con decirte que aún no hemos dado arrays y yo ya tengo hecho un bingo con matrices... (con sus clases propias, objetos, propiedades y métodos creados por mí), y antes de meterme con Java (que es lo que nos enseñan en el módulo), me tiré un montón de meses con C++ por mi cuenta, lo cuál me ha ayudado muchísimo.



Cita:
Iniciado por chuidiang
Hola,

Lo que comenta Xerelo, cuando llamas a exec(), ese código por dentro puede lanzar una excepción si tiene algún problema al intentar ejecutarse (las que comenta Xerelo, SecurityException si no tienes permisos para ejecutar el proceso, IOException si hay algún error con las entradas saildas de ese proceso, etc, etc).

Como el método exec() puede lanzar una excepción, tienes dos opciones al llamarlo, o bien capturarla metiendo la llamada dentro de un try/catch, o bien "relanzarla" en tu método (en tu main en este caso).

Se bueno.
Ya, lo que pasa que teóricamente cualquier código puede lanzar una excepción, ¿no? Entonces me imagino que un programa "normal" estará lleno de try/ cath o throws por todas partes... además de que no le veo mucha utilidad. No sé, si yo trato de acecder en tiempo de ejecución a una posición de array que no existe, ¿para qué voy a escribir yo un código para tratar la excepción, para que muestre el texto que yo quiero y ayudar al user por ejemplo con explicaciones más claras? Total, me imagino que el programa , lo que se dice cascar, va a cascar y lanzar una excepción igual... trate yo la excepción o no.

Pero es cuestión de tiempo que vaya viéndolo y comprendiéndolo, imagino. Ya digo que esto en clase ni siquiera lo hemos dado aún.



Cita:
En realidad el problema es que java es un lenguaje terriblemente mal diseñado, y esta cuestión de los "checked exceptions" es una de las tantas falencias del lenguaje, que no solamente obliga a escribir más código completamente innecesario, sino que como se puede observar en este thread, confunde a los novatos con sus cuestionables idiosincracias.

Los lenguajes modernos no tienen este problema.
https://kotlinlang.org/docs/referenc...ked-exceptions
La verdad es que mucha gente pone verde a Java (evidentemente yo no tengo aún conocimientos para criticar o elogiar Lenguajes), pero no descarto por supuesto ir comprendiendo otros lenguajes en un futuro. Ahora, es el que tengo que aprender.

Última edición por BramSt; 05/01/2016 a las 13:22