Result
Result type
๐ก ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ, ์๋ฌ๋ฅผ ์ธ๋ถ๋ก ๋์ง์ง ์๊ณ , Result ํ์ ์ ํจ์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ ๋ฆฌํดํ ์ ์๋ค.
๋ด๋ถ์ ์ผ๋ก ์ด๊ฑฐํ์ผ๋ก ๊ตฌํ๋์ด์๋ค.
enum **Result<Success, Failure>** where Failure: Error
์ฑ๊ณต๊ณผ ์คํจ ์ ๋ณด๋ฅผ ํจ๊ป ๋ด์์ ๋ฆฌํดํ๋ค.
Failure์ ๊ฒฝ์ฐ, Error ํ๋กํ ์ฝ์ ์ฑํํด์ผํ๋ค.
throwing๊ณผ์ ๋น๊ต
Result Type์ ํ์ฉ
๋ค์ํ ๋ฉ์๋๊ฐ ์กด์ฌํ๋ค.
get()
์ ๊ฒฐ๊ณผ๋ฅผ throwingํ๋ ํจ์์ฒ๋ผ ๋ณํ๊ฐ๋ฅํ ํจ์์ด๋ค. (Success value๋ฅผ ๋ฆฌํดํ๋ค)
Result ํ์
์ ์ฌ์ฉํ๋ ์ด์ ๋?
์ฑ๊ณต, ์คํจ์ ๊ฒฝ์ฐ๋ฅผ ๊น๋ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
๊ธฐ์กด ์๋ฌ์ฒ๋ฆฌ๋ฅผ ์์ ํ ๋์ฒดํ๋ ค๋ ๋ชฉ์ ์ด ์๋๋ผ, ์๋ฌ ์ฒ๋ฆฌ์ ๋ค์ํ ์ต์ ์ ์ ๊ณตํ๋๊ฒ์ด๋ค.
์๋ฌํ์ ์ ๋ช ์์ ์ผ๋ก ์ ์ธํด์ ํ์ ์บ์คํ ์ด ๋ถํ์ํด์ง๋ค.
Network์์ Result ํ์
์ ํ์ฉ
Last updated