Zoeeey
Stack flows in you
Zoeeey
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (155)
    • ๐Ÿ’ก UXUI (4)
      • UXUI (2)
      • UI (2)
      • UX (0)
    • ๐ŸŸจ JavaScript (66)
      • ๊ฐœ๋… (42)
      • ์ •๋ฆฌ (2)
      • ๋ฌธ์ œํ’€๊ธฐ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค, ์ฝ”๋”ฉ์• ํ”Œ) (15)
      • ์‘์šฉํ•˜์—ฌ ์ž๋™ํ™”or๋ฌธ์ œํ•ด๊ฒฐํ•˜๊ธฐ (2)
      • ๊ธฐํƒ€ (5)
    • โš›๏ธ React (49)
      • ๊ฐœ๋… (27)
      • ๊ฐœ๋…(Redux) (3)
      • ์ •๋ฆฌ (4)
      • ๋ฌธ์ œํ’€๊ธฐ (์ฝ”๋”ฉ์• ํ”Œ: React) (15)
    • ๐Ÿ“˜ TypeScript (10)
      • ๊ฐœ๋… (8)
      • ๋ฌธ์ œํ’€๊ธฐ (์ฝ”๋”ฉ์• ํ”Œ) (2)
    • ๐ŸŒ HTML,CSS (18)
      • ์‹ค๋ฌด์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋“ค (10)
      • ๋’ค๋Šฆ๊ฒŒ ์•Œ์•„์„œ ๋ผˆ์•„ํ”ˆ ์œ ์šฉํ•œ CSS (6)
      • ๊ธฐํƒ€ ์ž์ฃผ ์“ฐ๋Š” CSS (2)
    • ๐Ÿ’ป CS (8)
      • CS (5)
      • ์ •๊ทœํ‘œํ˜„์‹ (2)
      • Git,Github (1)

ํƒœ๊ทธ

  • axios
  • CS
  • UXUI
  • ์ฝ”๋”ฉ์• ํ”Œ
  • Ajax
  • redux
  • JavaScript
  • array
  • ์˜ค๋ฅ˜
  • TypeScript
  • class
  • ์‚ผํ•ญ์—ฐ์‚ฐ์ž
  • object
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • react
  • useEffect
  • state
  • json
  • Props
  • CSS
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
hELLO ยท Designed By ์ •์ƒ์šฐ.
Zoeeey

Stack flows in you

๐ŸŸจ JavaScript/๊ฐœ๋…

[๋“œ๋ฆผ์ฝ”๋”ฉ] ์ฝœ๋ฐฑํ•จ์ˆ˜ (3) : promise๋กœ Error Handlingํ•˜๊ธฐ (reject, catch ํ™œ์šฉ)

2022. 10. 4. 17:24

Error Handling

const turnonLaptop = () =>
  new Promise((resolve, reject) => {
    setTimeout(() => resolve(`๋…ธํŠธ๋ถ ์‹คํ–‰.`), 1000);
  });
const loginBlog = blog =>
  new Promise((resolve, reject) => {
    setTimeout(() => reject(new Error(`Error! ${blog} => ๋ธ”๋กœ๊ทธ ์ง„์ž….`)), 1000);
  });
const writePost = post =>
  new Promise ((resolve, reject) => {
    setTimeout(() => resolve(`${post} => ๊ฒŒ์‹œ ์™„๋ฃŒ.`), 1000);
  });

producer ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.

turnOnlaptop() //
  .then(openBlog)
  .then(writePost)
  .then(console.log);
  
 // VM86:7 Uncaught (in promise) Error: Error! ๋…ธํŠธ๋ถ ์‹คํ–‰. => ๋ธ”๋กœ๊ทธ ์ง„์ž….

then๋งŒ ๋ถ™์ด๋ฉด ์ด๋ ‡๊ฒŒ openBlog์—์„œ reject๋œ ์—๋Ÿฌ๋ฅผ catchํ•˜์ง€ ๋ชปํ•ด uncaught Error๊ฐ€ ๋‚œ๋‹ค.

turnonLaptop() //
  .then(loginBlog)
  .catch(error => {
    return `๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ`;
  })
  .then(writePost)
  .then(console.log)
  .catch(console.log);
  
  // ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ => ๊ฒŒ์‹œ ์™„๋ฃŒ.

catch๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ณณ์—์„œ error๋ฅผ handlingํ•  ์ˆ˜ ์žˆ๋‹ค.


์ถœ์ฒ˜ : ๋“œ๋ฆผ์ฝ”๋”ฉ https://www.youtube.com/@dream-coding / MDN https://developer.mozilla.org/ko/

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐ŸŸจ JavaScript > ๊ฐœ๋…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ฝ”๋”ฉ์• ํ”Œ] ์Šคํฌ๋กค ์ด๋ฒคํŠธ  (0) 2023.01.11
[๋“œ๋ฆผ์ฝ”๋”ฉ] ์ฝœ๋ฐฑํ•จ์ˆ˜ (4) : ์ฝœ๋ฐฑ์ง€์˜ฅ ํƒˆ์ถœ, Promise (callback hell ์ฝ”๋“œ๊ฐœ์„ ํ•˜๊ธฐ)  (0) 2022.10.04
[๋“œ๋ฆผ์ฝ”๋”ฉ] ์ฝœ๋ฐฑํ•จ์ˆ˜ (2) : ์ฝœ๋ฐฑ์ง€์˜ฅ ํƒˆ์ถœ, Promise (State, Producing)  (0) 2022.07.22
[๋“œ๋ฆผ์ฝ”๋”ฉ] ์ฝœ๋ฐฑํ•จ์ˆ˜ (1) : ์ฝœ๋ฐฑ์ง€์˜ฅ ์˜ˆ์‹œ  (0) 2022.07.22
[mdn, ๋“œ๋ฆผ์ฝ”๋”ฉ, ์ฝ”๋”ฉ์• ํ”Œ] ์ฝœ๋ฐฑํ•จ์ˆ˜ (1) : ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ๊ฐœ๋…  (0) 2022.07.12
    '๐ŸŸจ JavaScript/๊ฐœ๋…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [์ฝ”๋”ฉ์• ํ”Œ] ์Šคํฌ๋กค ์ด๋ฒคํŠธ
    • [๋“œ๋ฆผ์ฝ”๋”ฉ] ์ฝœ๋ฐฑํ•จ์ˆ˜ (4) : ์ฝœ๋ฐฑ์ง€์˜ฅ ํƒˆ์ถœ, Promise (callback hell ์ฝ”๋“œ๊ฐœ์„ ํ•˜๊ธฐ)
    • [๋“œ๋ฆผ์ฝ”๋”ฉ] ์ฝœ๋ฐฑํ•จ์ˆ˜ (2) : ์ฝœ๋ฐฑ์ง€์˜ฅ ํƒˆ์ถœ, Promise (State, Producing)
    • [๋“œ๋ฆผ์ฝ”๋”ฉ] ์ฝœ๋ฐฑํ•จ์ˆ˜ (1) : ์ฝœ๋ฐฑ์ง€์˜ฅ ์˜ˆ์‹œ
    Zoeeey
    Zoeeey
    ๊ธธ๊ฒŒ ์ƒ๊ฐํ•˜๊ณ  ์งง๊ฒŒ ๊ทธ๋ฆฌ๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”