Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitaf1c97b

Browse files
committed
Clase 6 | 15/08/2024
Clases (continuación) y manejo de errores
1 parentf16a9f0 commitaf1c97b

File tree

5 files changed

+238
-3
lines changed

5 files changed

+238
-3
lines changed

‎Basic/22-classes.js‎

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,4 +128,68 @@ person6 = new GetSetPerson("Brais", 37, "MoureDev", "IBAN123456789")
128128
console.log(person6)
129129
console.log(person6.name)
130130

131-
person6.bank="new IBAN123456789"
131+
person6.bank="new IBAN123456789"
132+
133+
/*
134+
Clase 6 en vídeo | 15/08/2024
135+
Clases (continuación) y manejo de errores
136+
https://www.twitch.tv/videos/2225058195?t=00h16m42s
137+
*/
138+
139+
// Herencia
140+
141+
classAnimal{
142+
143+
constructor(name){
144+
this.name=name
145+
}
146+
147+
sound(){
148+
console.log("El animal emite un sonido genérico")
149+
}
150+
151+
}
152+
153+
classDogextendsAnimal{
154+
155+
sound(){
156+
console.log("Guau!")
157+
}
158+
159+
run(){
160+
console.log("El perro corre")
161+
}
162+
163+
}
164+
165+
classFishextendsAnimal{
166+
167+
constructor(name,size){
168+
super(name)
169+
this.size=size
170+
}
171+
172+
swim(){
173+
console.log("El pez nada")
174+
}
175+
176+
}
177+
178+
letmyDog=newDog("MoureDog")
179+
myDog.run()
180+
myDog.sound()
181+
182+
letmyFish=newFish("MoureFish",10)
183+
myFish.swim()
184+
myFish.sound()
185+
186+
// Métodos estáticos
187+
188+
classMathOperations{
189+
190+
staticsum(a,b){
191+
returna+b
192+
}
193+
}
194+
195+
console.log(MathOperations.sum(5,10))

‎Basic/23-classes-exercises.js‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
Clase 6 en vídeo | 15/08/2024
3+
Clases (continuación) y manejo de errores
4+
https://www.twitch.tv/videos/2225058195?t=00h16m42s
5+
*/
6+
7+
// 1. Crea una clase que reciba dos propiedades
8+
9+
// 2. Añade un método a la clase que utilice las propiedades
10+
11+
// 3. Muestra los valores de las propiedades e invoca a la función
12+
13+
// 4. Añade un método estático a la primera clase
14+
15+
// 5. Haz uso del método estático
16+
17+
// 6. Crea una clase que haga uso de herencia
18+
19+
// 7. Crea una clase que haga uso de getters y setters
20+
21+
// 8. Modifica la clase con getters y setters para que use propiedades privadas
22+
23+
// 9. Utiliza los get y set y muestra sus valores
24+
25+
// 10. Sobrescribe un método de una clase que utilice herencia

‎Basic/24-error-handling.js‎

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
/*
2+
Clase 6 en vídeo | 15/08/2024
3+
Clases (continuación) y manejo de errores
4+
https://www.twitch.tv/videos/2225058195?t=00h16m42s
5+
*/
6+
7+
// Excepción
8+
9+
// Produce una excepción
10+
letmyObject
11+
// console.log(myObject.email)
12+
13+
// Captura de errores
14+
15+
// try-catch
16+
17+
try{
18+
// Código que intenta ejecutar
19+
console.log(myObject.email)
20+
console.log("Finaliza la ejecución sin errores")
21+
}catch{
22+
// Bloque de error
23+
console.log("Se ha producido un error")
24+
}
25+
26+
// Captura del error
27+
28+
try{
29+
console.log(myObject.email)
30+
}catch(error){
31+
console.log("Se ha producido un error:",error.message)
32+
}
33+
34+
// finally
35+
36+
try{
37+
console.log(myObject.email)
38+
}catch(error){
39+
console.log("Se ha producido un error:",error.message)
40+
}finally{
41+
console.log("Este código se ejecuta siempre")
42+
}
43+
44+
// No está soportado
45+
// try {
46+
// console.log(myObject.email)
47+
// } finally {
48+
// console.log("Este código se ejecuta siempre")
49+
// }
50+
51+
// Lanzamiento de errores
52+
53+
// throw
54+
55+
// throw new Error("Se ha producido un error");
56+
57+
functionsumIntegers(a,b){
58+
if(typeofa!=="number"||typeofb!=="number"){
59+
thrownewTypeError("Esta operación sólo suma números")
60+
}
61+
if(!Number.isInteger(a)||!Number.isInteger(b)){
62+
thrownewError("Esta operación sólo suma números enteros")
63+
}
64+
if(a==0||b==0){
65+
thrownewSumZeroIntegerError("Se está intentando sumar cero",a,b)
66+
}
67+
returna+b
68+
}
69+
70+
try{
71+
console.log(sumIntegers(5,10))
72+
// console.log(sumIntegers(5.5, 10))
73+
console.log(sumIntegers("5",10))
74+
// console.log(sumIntegers(5, "10"))
75+
// console.log(sumIntegers("5", "10"))
76+
}catch(error){
77+
console.log("Se ha producido un error:",error.message)
78+
}
79+
80+
// Capturar varios tipos de errores
81+
82+
try{
83+
// console.log(sumIntegers(5.5, 10))
84+
console.log(sumIntegers("5",10))
85+
}catch(error){
86+
if(errorinstanceofTypeError){
87+
console.log("Se ha producido un error de tipo:",error.message)
88+
}elseif(errorinstanceofError){
89+
console.log("Se ha producido un error:",error.message)
90+
}
91+
}
92+
93+
// Crear excepciones personalizadas
94+
95+
classSumZeroIntegerErrorextendsError{
96+
constructor(message,a,b){
97+
super(message)
98+
this.a=a
99+
this.b=b
100+
}
101+
102+
printNumbers(){
103+
console.log(this.a," + ",this.b)
104+
}
105+
}
106+
107+
try{
108+
console.log(sumIntegers(0,10))
109+
}catch(error){
110+
console.log("Se ha producido un error personalizado:",error.message)
111+
error.printNumbers()
112+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
Clase 6 en vídeo | 15/08/2024
3+
Clases (continuación) y manejo de errores
4+
https://www.twitch.tv/videos/2225058195?t=00h16m42s
5+
*/
6+
7+
// 1. Captura una excepción utilizando try-catch
8+
9+
// 2. Captura una excepción utilizando try-catch y finally
10+
11+
// 3. Lanza una excepción genérica
12+
13+
// 4. Crea una excepción personalizada
14+
15+
// 5. Lanza una excepción personalizada
16+
17+
// 6. Lanza varias excepciones según una lógica definida
18+
19+
// 7. Captura varias excepciones en un mismo try-catch
20+
21+
// 8. Crea un bucle que intente transformar a float cada valor y capture y muestre los errores
22+
23+
// 9. Crea una función que verifique si un objeto tiene una propiedad específica y lance una excepción personalizada
24+
25+
// 10. Crea una función que realice reintentos en caso de error hasta un máximo de 10

‎README.md‎

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
1212
##Próxima clase
1313

14-
###Jueves 15 de agosto a las 20:00h (España) en directo desde[Twitch](https://twitch.tv/mouredev)
15-
####Puedes crear un recordatorio y consultar el horario en tu país desde[Discord](https://discord.gg/mouredev?event=1270839532920770822)
14+
###Miércoles 21 de agosto a las 20:00h (España) en directo desde[Twitch](https://twitch.tv/mouredev)
15+
####Puedes crear un recordatorio y consultar el horario en tu país desde[Discord](https://discord.gg/7nB2HZRz?event=1273733009828220938)
1616

1717
##Clases en vídeo
1818

@@ -64,6 +64,15 @@ Código:
6464
*[21 - Ejercicios: Desestructuración y propagación](./Basic/21-destructuring-spreading-exercises.js)
6565
*[22 - Clases](./Basic/22-classes.js)
6666

67+
####[CLASE 6 | 15/08/2024 | Clases (continuación) y manejo de errores](https://www.twitch.tv/videos/2225058195?t=00h16m42s)
68+
69+
Código:
70+
71+
*[22 - Clases](./Basic/22-classes.js)
72+
*[23 - Ejercicios: Clases](./Basic/23-classes-exercises.js)
73+
*[24 - Manejo de errores](./Basic/24-error-handling.js)
74+
*[25 - Ejercicios: Manejo de errores](./Basic/25-error-handling-exercises.js)
75+
6776
##Enlaces de interés
6877

6978
* Impacto:[Stack Overflow](https://survey.stackoverflow.co/2023/#most-popular-technologies-language) |[GitHub](https://github.blog/2023-11-08-the-state-of-open-source-and-ai/) |[Índice TIOBE](https://www.tiobe.com/tiobe-index/) |[Google Trends](https://trends.google.es/trends/explore?cat=5&date=today%205-y&q=%2Fm%2F02p97,%2Fm%2F05z1_,%2Fm%2F07sbkfb&hl=es)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp