‫Bienvenido de nuevo.
‫En este video, aprenderá cómo detectar errores y cómo hacer algo cuando ocurre un error y no hacer que su programa se
‫bloquee ni nada por el estilo.
‫Entonces, un uso común de catch y finalmente juntos es obtener y usar recursos e intentar bloquear el trato con circunstancias excepcionales
‫y un bloque de catch y liberar los recursos en el bloque final.
‫Y eso significa lo que vamos a cubrir en este video.
‫Entonces, para encontrar un error, hagamos lo siguiente.
‫Usamos la línea derecha de la consola.
‫Entonces, para ver el doble toque aquí, digo por favor ingrese un número y le pediremos a nuestro usuario que ingrese un
‫número.
‫Y luego queremos almacenar eso en la entrada del usuario, que solo será una cadena verbal
‫y leerá lo que el usuario tenga que ingresar o decir.
‫Y debería ser un número al final.
‫Derecha.
‫Ese es el objetivo que tenemos.
‫Pero si hacemos la siguiente entrada del usuario final como entrada y usamos en Dart Pass, entonces ya ha visto partes e
‫intentamos analizar la entrada del usuario que el usuario proporcionó aquí.
‫Intentaremos hacer un número entero, y ahora si lo ejecuta, ingrese un número y durante tres
‫y nuestro programa está bien, en realidad.
‫Agreguemos una consola que lea la clave aquí para que veamos aún mejor que el programa aún está bien.
‫Así que por favor ingrese un número.
‫Solo voy a ingresar cinco y nuestro programa se está ejecutando y no se bloqueó.
‫Todo esta bien.
‫Así que ahora vamos a ejecutarlo de nuevo.
‫Pero en lugar de ingresar un no, agreguemos una letra o escribamos un texto.
‫Eso no es.
‫Pasable a un número entero, lo que estamos haciendo aquí en la línea 16, en mi caso, voy a ingresar y mi
‫programa se bloquea y dice excepción, excepción de formato del sistema no controlada, la cadena de entrada no estaba en
‫el formato correcto.
‫Está bien.
‫Entonces, la cadena que fue proporcionada por el usuario no estaba en el formato correcto para pasarla a un número entero.
‫Y de eso se trata una excepción formal.
‫Ahora, podemos manejar eso creando un intento y atrapar un bloque.
‫Digamos que usamos try.
‫Y aquí puede ver que hay una opción para usar try and catch C o simplemente puedo usar para probar
‫un doble toque y creará un lanzamiento de excepción try catch para mí.
‫Así que ahora lo que quiero hacer es probar ese código y, si no funcionó, no quiero que mi programa se
‫bloquee.
‫Y de eso se trata todo este asunto del tri.
‫Por lo tanto, se intentará ejecutar cualquier error de código de error en el sentido de código de error durante el tiempo de ejecución.
‫Y si no funcionó, entonces el truco.
‫Se ejecutará el bloque, por lo que se ejecutará lo que esté en este cuerpo o entre las llaves
‫aquí.
‫Así que ahora solo nos queda tirar aquí.
‫Así que deshagámonos del lanzamiento porque todavía está lanzando a Yero.
‫Ahora, escriba algo en la consola si ocurre un error.
‫Entonces decimos algo como excepción
‫de formato, ingrese el tipo correcto la próxima vez.
‫Y eso es algo que sabemos qué es un tipo.
‫Un usuario general no lo sabría.
‫Así que aquí escribirías algo como, por favor, no ingreses letras, solo números o algo
‫así.
‫Así que echemos un vistazo.
‫Aquí nuevamente, ejecutemos un error en un error nuevamente.
‫Y luego obtenemos esta información de una excepción.
‫Introduzca el tipo correcto la próxima vez.
‫Y nuestro programa no se bloqueó, por lo que no nos encontramos con esta excepción en el sentido de nuestro
‫programa o nuestro IEP diciéndonos, oye, hay algo mal y debes manejar bien tu código.
‫Derecha.
‫Entonces, en general, así es la estructura.
‫Tiene un intento, entonces prueba algún código aquí que podría generar errores, que puede tener una excepción, y luego
‫tiene un bloque de captura que se ejecuta cada vez que este intento no funcionó.
‫Entonces, siempre que haya un error, este bloque de captura se ejecutará.
‫Lo que tenemos aquí es una trampa con una excepción.
‫Una excepción es un error muy genérico.
‫Entonces podría ser cualquier tipo de excepción.
‫Pero si realmente nos encontramos con ese error, eliminemos este código, veremos qué tipo de excepción hemos
‫creado.
‫Así que solo voy a ingresar algo como cualquier cadena que ingrese.
‫Y de hecho, no pasa nada porque no tiramos.
‫Así que detengamos eso, lancemos, como vimos antes, simplemente lancemos y lo ejecutaremos de nuevo.
‫Solo estoy ingresando algo aquí, y es una excepción de formato del sistema.
‫Entonces, tenemos información un poco más precisa sobre la excepción real.
‫Entonces ahora sabemos, está bien, es una excepción de formato.
‫Entonces deberíamos usar la excepción de formato aquí en lugar de la excepción.
‫Bien, muchas excepciones aquí, pero lo que usamos aquí es una excepción de formato.
‫Como puede ver aquí, hay una clase llamada system que forma una excepción y la excepción que se lanza
‫cuando el formato de un argumento no es válido o cuando una cadena de formato compuesto no está bien formada.
‫Y eso es exactamente lo que tenemos aquí.
‫Así que vamos a deshacernos de esto y estar bien con eso.
‫Así que ahora encontremos un error diferente.
‫Ahora creemos un número muy largo, algo que no pueda caber en una cadena, porque como puede adivinar, o
‫como recordará, una cadena solo tiene una cantidad específica de espacio.
‫Entonces, digamos que no estoy seguro de cuántos números hace esto, pero digamos que solo esta cantidad de números se
‫puede almacenar dentro de un entero.
‫Así que todo esto aquí no va a funcionar porque es un desbordamiento.
‫Así que es demasiada información para que la maneje una cadena.
‫Entonces, si entro en esto ahora.
‫Recibo una excepción de desbordamiento del sistema de entrada, así que aquí estamos, recepción de desbordamiento del sistema.
‫Bueno, tú también eras demasiado grande o demasiado pequeño para en 30, ¿verdad?
‫Eso es lo que dije.
‫Y ahora también debemos detectar esa excepción.
‫Así que hay dos formas de manejarlo.
‫Entonces, o usamos una excepción diferente aquí y solo usamos una excepción.
‫Así que solo estamos manejando todas las demás excepciones que existen genéricamente y simplemente decimos consultar
‫la
‫línea brillante, excepción general.
‫Algo salió mal, por ejemplo, así que creemos un no muy largo, en realidad, una vez más así y entremos
‫eso y vemos que tenemos una excepción general, aunque esa es una excepción de desbordamiento.
‫Entonces puedes manejarlo de esa manera.
‫Entonces, si no conoce todos los diferentes tipos de excepciones que
‫tiene allí o no desea detectarlos todos individualmente, puede hacerlo de esta manera o podría ser así de preciso y simple y
‫con la excepción de desbordamiento correcta.
‫Así que ahora va a funcionar y ves un sistema, la excepción de desbordamiento.
‫Ejecutemos eso de nuevo e ingresemos un número y creemos un número muy largo aquí.
‫Y todavía obtenemos la excepción general porque no ingresamos una excepción de desbordamiento de texto diferente.
‫El número era demasiado largo o demasiado corto para y de 30 a.
‫Así que echemos un vistazo de nuevo y pasemos por alto el número de sección era demasiado largo o demasiado corto para uno en treinta y dos.
‫Está bien.
‫Así es como generalmente podemos detectar excepciones.
‫Y si hay otras excepciones que se puedan ejecutar.
‫Como puede ver, hay un argumento, no una excepción.
‫Así que echemos un vistazo a lo que eso significa, si es que podemos conseguirlo.
‫Y vemos.
‫Excepción formal, ingrese el tipo correcto de tiempo la próxima vez, por lo que incluso si está
‫vacío en nuestro caso, no obtenemos esta excepción nula porque nuestra entrada, incluso si no ingresamos nada, todavía tiene
‫una cadena vacía, que No es nulo.
‫Así que no nos encontramos en este acto con esta excepción real.
‫Entonces, como puede ver aquí, cada vez que intenta ejecutar algo de inteligencia de código, incluso le brinda información aquí,
‫eso es realmente útil.
‫Puede ver que existe el argumento, no la excepción, la excepción formal y la excepción de desbordamiento.
‫Así que incluso podríamos agregar otra excepción aquí y llamar a que un argumento no es una excepción o una excepción nula de
‫argumento.
‫Y decimos algo como excepción de argumento nulo.
‫El valor estaba vacío ahora.
‫Entonces, para incluso encontrarnos con esta área, tendríamos que usar nullable, que aún no hemos cubierto.
‫Pero lo haremos más adelante.
‫Y si los tenemos, puedes intentar hacer eso.
‫Entonces, si ya ha visto el video, puede intentar encontrar ese error.
‫Está bien.
‫Entonces, ahora que ha visto cómo usarlo, intente atraparlo.
‫Y ahora hay una cosa más que me gustaría mostrarles en este video, que finalmente
‫se hace así.
‫Así que finalmente usaste una palabra clave y luego volviste a usar llaves y dentro de ese bloque de código aquí.
‫Entonces, dentro de ese cuerpo, ingresa el código que debe ejecutarse cada vez que se realiza el intento de captura.
‫Por lo tanto, no importa si se ejecutó el error o si el error no funcionó, no hubo ningún error.
‫Eso finalmente se seguirá llamando.
‫Así que esto se llama de todos modos.
‫Entonces eso significa es.
‫Bueno, lo veremos en un segundo.
‫Así que encontremos un error y vemos formas de onda y excepciones y luego vemos que esto se llama de todos
‫modos y ese es nuestro bloque final.
‫Y la idea detrás de este bloqueo final es, por ejemplo, si intentó iniciar una conexión a
‫Internet o si intentó escribir en un archivo, eventualmente puede ocurrir un error.
‫Entonces, digamos que la conexión a Internet se interrumpe o no tiene acceso
‫a un archivo en el que desea escribir o algunas otras excepciones que pueden surgir y desea cerrar la conexión o el archivo de cualquier manera.
‫Entonces ha abierto el archivo y ahora intenta escribir en ese archivo y después de haber escrito en ese archivo para
‫intentar bloquearlo y tal vez funcionó, tal vez no funcionó.
‫Pero lo que definitivamente desea hacer es cerrar el archivo nuevamente o intentar descargar algo de
‫Internet.
‫Y si funcionó o no funcionó, no importa.
‫Posteriormente, debe cerrar la conexión a Internet.
‫Y eso es algo que harías en el bloque final.
‫Y eso es muy útil e importante cuando se trabaja con tipos de entrada y salida o.
‫Sí, pero generalmente con conexiones a Internet, Bluetooth o lo que sea.
‫Entonces, como puede ver, hay mucho que saber acerca de intentar atrapar, pero las cosas más importantes ya las ha
‫visto.
‫Entonces, ahora que sabe cómo usar try, sabe cómo usar catch, cómo descubrir excepciones.
‫En algunos casos, no es tan obvio.
‫Entonces, en algunos casos, no verificará qué tipo de excepciones se pueden ejecutar.
‫Pero si se encuentra con una excepción en su código, entonces sabrá a qué tipo de excepción se debe.
‫Bueno, la idea es que Microsoft Visual Studio te diga qué excepción fue.
‫Y luego definitivamente debería intentar capturar esa excepción o simplemente usar un tipo de excepción general okeydokey.
‫Así que ahora, como un pequeño desafío para ti, porque siempre tiene que haber un pequeño desafío, de
‫lo contrario, es posible que te aburras un poco o te vuelvas un poco perezoso.
‫Es muy importante que intente escribir el código también y comprobarlo por sí mismo.
‫Entonces, los pequeños desafíos, continúen y dividan por cero.
‫Entonces eso es simple.
‫Intenta dividir por cero y usa dos variables para eso.
‫Muy bien, sigamos adelante e intentemos eso, así que intentaré dividir por cero.
‫Voy a usar dos enteros y nadie va a ser cinco y ninguno dos va a ser cero.
‫Y ahora voy a usar un resultado.
‫El resultado final se ingresará aquí.
‫El resultado es igual al número uno, dividido por el número dos.
‫No es.
‫Intentémoslo sin probar y atrapar antes de usar probar y atrapar.
‫Así que ejecutémoslo.
‫Ingrese un número y luego divida por cero, y espero que lo maneje.
‫Así que ahora agreguemos un intento y una captura.
‫Así que inténtalo o hazlo más fácil y prueba aquí y usa el bloque doble toque.
‫Y ahora, dentro del intento, quiero ejecutar eso.
‫Y si no funcionó, simplemente quiero escribir algo como citable.
‫No se puede dividir por cero.
‫Y ahora la excepción que acabamos de tener fue tan mirada.
‫Dividir por cero, intentar dividir por cero y se llama excepción de división por cero.
‫Entonces, si quieres encontrar eso, puedes encontrarlo aquí.
‫Así que voy a usar exactamente eso.
‫Voy a reemplazar la excepción con la excepción de dividir por cero.
‫Así que ahora ejecutemos ese código nuevamente.
‫Ingrese el número anterior y luego dice que se puede dividir por cero.
‫Derecha.
‫Así que espero que lo hayas intentado y espero que lo hayas logrado y ahora puedes ver cómo puedes crear tu propio intento y
‫ponerte al día.
‫Y en el siguiente video, vamos a seguir adelante y usar algunas cosas más sofisticadas.
‫Así que nos vemos allí.