From 576dbff95e8e64d9f555225dc2d2c07b3e79ee75 Mon Sep 17 00:00:00 2001 From: AChapeton Date: Thu, 7 Mar 2024 16:17:35 -0600 Subject: [PATCH] #10 - TypeScript & JavaScript --- .../10 - EXCEPCIONES/javascript/AChapeton.js | 47 +++++++++++++++++++ .../10 - EXCEPCIONES/typescript/AChapeton.ts | 47 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 Roadmap/10 - EXCEPCIONES/javascript/AChapeton.js create mode 100644 Roadmap/10 - EXCEPCIONES/typescript/AChapeton.ts diff --git a/Roadmap/10 - EXCEPCIONES/javascript/AChapeton.js b/Roadmap/10 - EXCEPCIONES/javascript/AChapeton.js new file mode 100644 index 0000000000..a37ede432a --- /dev/null +++ b/Roadmap/10 - EXCEPCIONES/javascript/AChapeton.js @@ -0,0 +1,47 @@ +let myArray = ['a', 'b', 'c', 'd'] + +//TRY - Bloque del codigo que se va a evaluar +//CATCH - Bloque del codigo que se ejecuta si se encuentra un error en el bloque TRY +//FINALLY - Bloque de codigo (opcional) que se va a ejecutar una vez haya terminado el bloque TRY, independientemente de su resultado + +try{ + myArray[8].length +}catch(error){ + throw 'No se puede acceder a una posicion que no existe en el array.' + error +}finally{ + console.log(myArray.length) +} + + + +// DIFICULTAD EXTRA + +class customException extends Error{ + constructor(message){ + super(message) + this.name = 'Custom Exception' + } +} + +const myFunction = (num1, num2) => { + try{ + if(num1 < 0){ + throw new Error('El primer valor no puede ser menor a cero.') + } + + if((num2 % 2) !== 0){ + throw new Error('El segundo valor debe ser un numero par.') + } + + if((num1 + num2) > 99){ + throw new customException('La suma de los valores no puede sobrepasar de 100.') + } + }catch(error){ + console.log('Tipo de error: ', error instanceof customException ? 'Custom error' : 'Normal error') + console.log('Mensaje de error: ', error.message) + }finally{ + console.log('Fin del ejercicio') + } +} + +myFunction(444, 50) \ No newline at end of file diff --git a/Roadmap/10 - EXCEPCIONES/typescript/AChapeton.ts b/Roadmap/10 - EXCEPCIONES/typescript/AChapeton.ts new file mode 100644 index 0000000000..70674cea66 --- /dev/null +++ b/Roadmap/10 - EXCEPCIONES/typescript/AChapeton.ts @@ -0,0 +1,47 @@ +let myArray: Array = ['a', 'b', 'c', 'd'] + +//TRY - Bloque del codigo que se va a evaluar +//CATCH - Bloque del codigo que se ejecuta si se encuentra un error en el bloque TRY +//FINALLY - Bloque de codigo (opcional) que se va a ejecutar una vez haya terminado el bloque TRY, independientemente de su resultado + +try{ + myArray[8].length +}catch(error){ + throw 'No se puede acceder a una posicion que no existe en el array.' + error +}finally{ + console.log(myArray.length) +} + + + +// DIFICULTAD EXTRA + +class customException extends Error{ + constructor(message: string){ + super(message) + this.name = 'Custom Exception' + } +} + +const myFunction = (num1: number, num2: number) => { + try{ + if(num1 < 0){ + throw new Error('El primer valor no puede ser menor a cero.') + } + + if((num2 % 2) !== 0){ + throw new Error('El segundo valor debe ser un numero par.') + } + + if((num1 + num2) > 99){ + throw new customException('La suma de los valores no puede sobrepasar de 100.') + } + }catch(error){ + console.log('Tipo de error: ', error instanceof customException ? 'Custom error' : 'Normal error') + console.log('Mensaje de error: ', error.message) + }finally{ + console.log('Fin del ejercicio') + } +} + +myFunction(444, 50) \ No newline at end of file