์คํ์ธ์ด๋ฅผ ๊ตฌ์ฌํ๋ ์ปดํจํฐ ๊ณตํ ํ์์ด์๋ ์ ๋ ์๋ก์ด ๊ธฐ์ ์ ๋ฐฐ์ฐ๊ณ ์ธ์ด๋ฅผ ๊ตฌ์ฌํ์ง ๋ชปํ ๋ ๋ชจ๊ตญ์ด๋ก ๋ ์ค๋ฅ์ ๋ฌธ์๊ฐ ์๋ ๊ฒ์ด ๋งค์ฐ ์ ์ฉํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. ์ฌ๊ธฐ์์ ๊ฐ์ ์ ๊ธฐํ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. .
์ ๋ง ์ ์ฉํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ํด ๋นํ์ฑํ ๋ ์ ์์ง๋ง ๋์๊ฒ๋ ๊ด์ฐฎ์ต๋๋ค. ๊ทธ๋ฌ๋ ์๊ฐ์ ํ ์ ํ ๊ฐ์น๊ฐ ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
์ถ์ : ์ ๋ ๋ฌ์์์ด๊ฐ ๋ชจ๊ตญ์ด์ ๋๋ค. ๋ฌ์์์ด์์ ์ฝ๊ฐ์ ์ค๋ฅ๋ฅผ ์ฐพ๋ ๊ฒ์ด ๋์๊ฒ๋ ๊ณ ํต์ด์์ต๋๋ค)
.NET Core๊ฐ ์ต๊ทผ ์์ธ ๋ฉ์์ง ์ง์ญํ๋ก ๋ค์ ์ ํ๋์์์ ๊ณ ๋ คํ๋ฉด WinUI๊ฐ ๋ฐ๋ฅด์ง ์๋๋ค๋ฉด ์ด์ํ ๊ฒ์
๋๋ค. [ํธ์ง] WinUI๊ฐ ์์ํ .NET์ด ์๋์ง๋ง ์์ธ ๊ฐ์ฒด ๋์ HRESULT ์ค๋ฅ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ค๋ ์ฌ์ค์ ์์์ต๋๋ค.
์ด๋ค ์ข ๋ฅ์ ์ค๋ฅ ๋ํ ์์์์ ์ฌ์ฉ์์๊ฒ Exception.Message๋ฅผ ํ์ํ๋ ๊ฒ์ด ์ข์ ๋ฐฉ๋ฒ์ธ์ง ํ์คํ์ง ์์ต๋๋ค.
UWP/WinUI ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์์ ์ด๋ป๊ฒ ์ํ๋๋์ง ๋ชจ๋ฅด์ง๋ง WPF ๋ฐ WinForms ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ์ค์ ๋ฐ์ํ๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋ ธ์ถํฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ์ฐ๊ธฐ ์ ์ฅ ์๋๋ฆฌ์ค์์ ํฉ๋ฆฌ์ ์ผ๋ก throw๋ ์ ์๋ ๋ชจ๋ ์์ธ๋ฅผ ์ง์ญํํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
WinUI๊ฐ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๋ ๋์ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ์ค์ ์์ธ๋ฅผ catchํ๋ ๊ฒฝ์ฐ ์์ธ ๋ฉ์์ง๋ฅผ ์ผ๋ฐ ์ง์ญํ๋ ๋ฉ์์ง๋ก ๋ฐ๊พธ์ง ์๋ ํ ๋์ผํ ์์ ์ ์ํํด์ผ ํฉ๋๋ค.
(๊ทธ๋ฆฌ๊ณ ๋ค, ์ธ๊ตญ์ด ์ค๋ฅ๋ฅผ ๊ฒ์ํด์ผ ํ๋ ๊ฒ์ ๊ณ ํต์ค๋ฌ์ด ์ผ์ด์ง๋ง ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ด ์ด๋ฌํ ์ค๋ฅ๋ฅผ ํ์งํ๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์คํ ์์ํ๊ณ ์๋ ์ต์ข ์ฌ์ฉ์์๊ฒ ๋ ธ์ถ์ํฌ ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.)
WinUI๋ WinRT๋ก ๊ตฌํ๋๋ฉฐ WinRT์๋ Exception.Message๋ฅผ ์ค์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ WinUI๊ฐ ์์ฑํ๋ ์ค๋ฅ ๋ฉ์์ง๋ ๋๋ฒ๊ฑฐ์์ ๋ณผ ์ ์์ง๋ง WPF/WinForms์์์ ๊ฐ์ด ์ต์ข ์ฌ์ฉ์์๊ฒ ํ์๋์ด์๋ ์ ๋ฉ๋๋ค. (WinUI๋ ๋ฉ์์ง๋ฅผ ๋๋ฒ๊ฑฐ์์๋ง ๊ฒ์ํ ์ ์๋๋ก ์ค๊ณ๋ RoOriginateError๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ฅ๋ฅผ ์์ฑํฉ๋๋ค.)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
WinUI๋ WinRT๋ก ๊ตฌํ๋๋ฉฐ WinRT์๋ Exception.Message๋ฅผ ์ค์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ WinUI๊ฐ ์์ฑํ๋ ์ค๋ฅ ๋ฉ์์ง๋ ๋๋ฒ๊ฑฐ์์ ๋ณผ ์ ์์ง๋ง WPF/WinForms์์์ ๊ฐ์ด ์ต์ข ์ฌ์ฉ์์๊ฒ ํ์๋์ด์๋ ์ ๋ฉ๋๋ค. (WinUI๋ ๋ฉ์์ง๋ฅผ ๋๋ฒ๊ฑฐ์์๋ง ๊ฒ์ํ ์ ์๋๋ก ์ค๊ณ๋ RoOriginateError๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ฅ๋ฅผ ์์ฑํฉ๋๋ค.)