티스토리 뷰

C#/WPF

WPF tutorial - Handling exceptions in WPF

광그로 2017. 6. 20. 17:29

예외처리 http://www.wpf-tutorial.com/wpf-application/handling-exceptions/


1
2
3
4
 <Grid>
        <Button Name="button" Click="Button_Click" Content="클릭!">
        </Button>
 </Grid>
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
public partial class MainWindow : Window 
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string s = null;
            s.Trim();
Trim()(method)를 null값에 대하여 사용하려고 하여 에러 발생
        }
    }
cs


1
2
3
4
5
6
7
8
9
10
11
12
private void Button_Click(object sender, RoutedEventArgs e)
        {
            string s = null;
            try
            {
                s.Trim();
            }
            catch (Exception ex)
            {
                MessageBox.Show("A handled exception just occurred: " + ex.Message, "Exception Sample"
예외가 발생한다면, 해당하는 메세지를 띄워라 이때 title은 Exception Sample, button은 확인버튼, 이미지(아이콘)은 warning으로 해라.
MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
MainWindow.xaml.cs
 
 public partial class MainWindow : Window 
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string s = null;
 
            s.Trim();
        }
    }
cs
1
2
3
4
5
6
7
8
9
10
11
12
13
App.xaml
 
<Application x:Class="WPF_tutorial.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WPF_tutorial"
             StartupUri="MainWindow.xaml"
             DispatcherUnhandledException="Application_DispatcherUnhandledException"
             >
    
    <Application.Resources>
    </Application.Resources>
</Application>
cs
1
2
3
4
5
6
7
8
9
10
App.xaml.cs
 
 public partial class App : Application
    {
        private void Application_DispatcherUnhandledException(object sender,
System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
        {
            MessageBox.Show("An unhandled exception just occurred: " + e.Exception.Message,
"Exception Sample", MessageBoxButton.OK, MessageBoxImage.Warning);
            e.Handled = true;
        }
    }
cs

App.xaml에서 예외를 전역적으로 처리할 수 있습니다.

이 작업 은 Application 클래스  DispatcherUnhandledException 이벤트를 통해 수행됩니다 .

'C# > WPF' 카테고리의 다른 글

WPF tutorial - The Label control  (0) 2017.06.20
WPF tutorial - The TextBlock control  (0) 2017.06.20
WPF tutorial - Resource  (0) 2017.06.20
WPF tutorial - Command-line parameters in WPF  (2) 2017.06.20
WPF tutorial - App.xaml로 작업하기  (0) 2017.06.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함