ΠΠ°ΠΊ Π±ΡΠ²ΡΠΈΠΉ ΠΈΡΠΏΠ°Π½ΠΎΡΠ·ΡΡΠ½ΡΠΉ ΡΡΡΠ΄Π΅Π½Ρ, ΠΈΠ·ΡΡΠ°ΡΡΠΈΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΡ, Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π΄Π΅ΡΡ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ. .
ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
ΠΡΡΠ°ΡΠΈ, Ρ ΠΎΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎΠΈΡ Π»ΠΈ Π½Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ.
PS Π― Π½ΠΎΡΠΈΡΠ΅Π»Ρ ΡΡΡΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΠ½Π΅ Π±ΡΠ»ΠΎ Π±ΠΎΠ»ΡΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ)
Π£ΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ .NET Core Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ»ΡΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ
, Π±ΡΠ»ΠΎ Π±Ρ ΡΡΡΠ°Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ WinUI Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Π» Π·Π° Π½ΠΈΠΌ. [ΠΏΡΠ°Π²ΠΈΡΡ] Π― Π·Π°Π±ΡΠ», ΡΡΠΎ WinUI Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΡΠΌ .NET, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΎΠΊ HRESULT Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Exception.
ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Exception.Message ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠ½Π°Ρ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ - ΡΡΠΎ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°.
Π― Π½Π΅ Π·Π½Π°Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ UWP / WinUI, Π½ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ WPF ΠΈ WinForms Π²ΡΡΠ²Π»ΡΠ΅Ρ Π»ΡΠ±ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ΅Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π»ΡΠ±ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ΠΎ Π² ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ , Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ.
ΠΡΠ»ΠΈ WinUI ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ (Π²ΠΌΠ΅ΡΡΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°), Π΅ΠΌΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠΈΠΌ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ.
(Π Π΄Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π° ΠΈΠ½ΠΎΡΡΡΠ°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ - ΡΡΠΎ Π±ΠΎΠ»Ρ, Π½ΠΎ Ρ Π½Π΅ Π²ΠΈΠΆΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΡΠ°ΡΠΊΡΡΠ²Π°Π΅Ρ ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ .)
WinUI ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ WinRT, Π° WinRT Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Exception.Message. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ WinUI, Π²ΠΈΠ΄Π½Ρ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ WPF / WinForms. (WinUI Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ RoOriginateError , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΡΠ°ΠΊ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ.)
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
WinUI ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ WinRT, Π° WinRT Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Exception.Message. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ WinUI, Π²ΠΈΠ΄Π½Ρ Π² ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ΅, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ Ρ WPF / WinForms. (WinUI Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ RoOriginateError , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΡΠ°ΠΊ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠΎΠΌ.)