Continuamos.
Pero primero voy a arreglar un detalle nada importante, pero un tema de nombre.
Acá puse dividendo, pero en realidad es denominador o divisor cualquiera de los dos.
Entonces divisor de acá, bueno, divisor también de acá también.
Un detalle es lo siguiente crear otro método, una sobrecarga.
También dividir, pero que pasemos dos string en vez de dos entero y convertir.
Por lo tanto, en el proceso de convertir de un string numérico a un entero, también podría lanzar
otra acepción.
La idea es que este nuevo método va a lanzar o podría lanzar dos.
Se fijan dos excepciones para propagar un cierto al método main o al método que invoque este método
método dividir.
Pero bien es bastante parecido.
Entonces.
Public double.
Dividir
el numerador
y el divisor.
Pero bien.
Acá tienen que convertir con el par Saint ambos.
Entonces int num.
Igual integer punto par saint.
Porque tenemos el parsec y colocamos el numerador.
INT El divisor lo vemos.
Pero qué colocamos?
Divisor.
Bueno.
Y podríamos aprovechar este método.
No cierto?
10.
Punto.
Dividir.
Pero pasando los enteros.
Porque ya lo tenemos convertido.
Entonces acá pasamos el num.
Coma div.
Se fijan.
Y acá.
Bueno.
Marca un error.
Bueno.
Lo primero tenemos que retornar acá porque retorna un doble.
Este método redon a un doble.
Pero a pesar.
Igualmente retorna un error porque está lanzando división por ser aceptada.
Entonces acá lo tenemos que propagar.
Se fijan?
Tenemos que agregar esta sección en la firma el método.
Podríamos hacer un clic acá.
O lo hacemos manual pero en forma automática, agrega el Froot División por cero Exception.
Como acá.
Ya está bien.
Se fijan.
Entonces invocamos este método.
Acá ocurre el error.
Septo.
Por lo tanto.
Como lo estamos llamando.
También podría ocurrir este método y lo propagamos.
Pero además podría manejar el error del parse int.
Acá se fijan con un traje, un cacho.
Pero para eso necesitamos una clase de recepción personalizada propia para manejar la conversión del
entero en Nandez Formas Deception.
Entonces vamos a crear una nueva clase acá.
Decepción.
Le vamos a llamar número, formato o formato número exception, formato número en español, excepto
bien y vamos a heredar de la clase ecepto.
Vamos a implementar el método del padre.
Entonces haga clic Derecho Generai Constructor.
Está acá con el mensaje OK.
Y listo, ya lo tenemos.
Muy simple, volvemos entonces calculadora y la idea es convertir en number format exception que lanza
en caso de que el estric no sea numérico, lánzale error.
No aceptó.
Entonces lo vamos a convertir a un tipo checked a nuestra propia clase formato número septón.
Entonces, finalmente convertimos una excepción al checked en una Checker y así obligamos y somos más
estrictos para que la manejemos con el trait Catch nos obliga a manejarla con el trait Catch y nos obliga
también a declararla en la firma el método o re lanzarla o propagarla como le queramos llamar trae.
Catch number fórmate septón en inglés, no septo, esta acepción que se podría lanzar en el Saint en
caso de que ocurra un error en fija frus number, fórmate septón.
E Y acá lanzamos el error frus new formato, número, escepcion.
Nuestra clase personalizada.
Perfecto.
Bien.
Dos cosas.
Lo primero, tenemos que mover el ratón dentro del TRIE.
Por supuesto, acá.
Entonces lo cortamos y lo movemos.
Tiene que estar dentro de contexto.
Un cierto si todo sale bien.
Bueno, hace la división y retorna.
Si no, lanza la excepción.
Y luego acá otro error, porque tenemos que enviar o declarar.
No acepto esta acepción en la firma.
El método.
Entonces acá coma en el cero coma.
De hecho, voy a bajar acá, podríamos bajar, pequé mejor y acá formato y listo.
Ahí lo tenemos implementado.
Entonces este dividir retorna una sola, ya que recibe solamente dos entero.
Y si el divisor es cero?
Bueno, lanza la excepción, pero ésta podrá el hacer two.
Al tratar de convertir a entero los estric o bien si falla el otro.
Dividir.
Cuando diga por cero.
Vamos a probar.
Vamos a ejemplo escepción.
Por acá.
Vamos a tener acá otro ejemplo, podría mantener el que tenemos, pero acá otro más.
Entonces División 2.
División 2.
Calculadora.
Punto.
El que recibe String.
Entonces, por ejemplo, 10 y 5.
Por poner ejemplo, ya que uno marca un error y está bien, está bien por qué?
Por qué acá no está pidiendo que manejemos una excepción que no lo estamos manejando?
Formato número escepción.
Recuerde que este método lanza dos excepciones.
Una división por cero.
Y la segunda que lanza formato número excepción.
Se fijan entonces acá tenemos que manejar otro catch.
Entonces por acá, después de Ámber Format Deception.
Catch Formato un número acepcion.
Eh?
Bueno, que queramos y acá la manejamos.
Entonces Shout
se detectó una excepción ingreso un número valida
e punto Get Masetto.
Lo siguiente para dar más detalle también podríamos invocar el método Print Stack 3 es da forma esa
de forma automática se imprime en el terminal, en la consola o bien de forma explícita septem punto
out indicamos la salida.
En este caso la consola 7.12 en la consola, entonces se va a imprimir en el terminal.
Faltó Sotheby División 2 bien levantamos.
Bueno, este es otro ejemplos cero o vamos a colocar dos mejor.
Perfecto.
División 2 2.0 Así que está bien ahora, para qué no pide esto?
O incluso vamos a comentar el primer ejemplo está acá el División 20, un poco más ordenado acá.
Comentamos acá y comentamos acá, de hecho, el valor es del tipo string.
Entonces podremos colocar o lo puedo modificar de la siguiente forma.
Ingrese un entero, por ejemplo, denominador.
De acá denominador.
Vamos a copiar esto y lo mismo.
Numerador o divisor?
Entonces denominador y acá.
O perdón acá.
Denominador y el numerador y Dhaka?
Entonces, numerador y divisor, el divisor es el denominador.
Lo vemos.
Así lo ingresamos por Terminal, se fijan y esto lo comentamos del otro ejemplo.
Entonces, el denominador con el cual dividimos, por ejemplo, 2.
Ok.
Y el numerador 10 10 dividido en dos, aunque está al revés.
Mejor que lo cambiemos.
Colocamos este arriba y abajo para que lo pida primero.
Así que hemos ordenado.
Volvemos a levantar.
Ya numerador?
10.
2.
Perfecto.
Ningún error.
Ningún problema.
Volvemos a levantar.
No creo que haga nada.
Ok.
Y en el denominador colocábamos.
5 se fijan lanza la acepción seré toda una acepción ingreso el número valio.
Entonces entra acá formato número, excepto por qué trata de convertir entonces de ingresar un número
en el numerador y divisor.
Se fijan si revisamos la acepción formato número acá, perdón.
Acá de ingresar un número en el numerador y divisor cuando lanzamos la acepción.
Este es el mensaje y acá lo está mostrando.
Se fijan con el detalle.
Luego tenemos la traza, el print stack 3.
Entonces imprime toda la traza.
De dónde comienza?
Bueno, primero la excepción que se lanza con el mensaje.
Eso es lo primero.
Lo segundo, el recorrido donde se origina en el método dividir calculadora línea 19.
Entonces, con todo lujo detalle acá ocurra en esta línea con el formato de los estric no se pueden
convertir entero, ya que no es numérico el valor del string.
Y luego tenemos la clase con el método Main, que es donde se invoca el dividís acá.
Hacemos un click, por ejemplo, acá calculadora, dividir.
Entonces el la traza completa o el recorrido o la pila donde ocurre esta acepción.
Acá comienza la invocación del mero vivir, pero en el método dividir.
Ocurre el error en la línea 19.
Clase calculadora.
Acá tenemos toda la traza, incluso para este ejemplo.
Como lo modificamos y esto lo tenemos comentado.
Bueno.
Podríamos quitar incluso este cacho.
Se fijan.
Estaría además.
Y dejar solamente formato un número septón y división por ser acepten nuestras dos clases personalizadas
y hasta comentada porque el par sait lo quitamos de este ejemplo.
Pero da lo mismo.
Lo pueden dejar o lo podemos quitar.
Todo depende si vamos a dejar este código.
Por ejemplo, si queremos dejar solamente esta forma.
Esto ya lo podemos quitar.
Esto también nos lo estamos ocupando y dejamos solamente dividir los números hattrick y este método
se encarga de la conversión y de lanzar las excepciones.
O bien lo pones como estaba.
Da lo mismo.
Continuamos en la siguiente clase.