티스토리 뷰

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            bool isSuccess = false;

// 1
            try
            {
                Console.WriteLine("정상적인 실행");
                
                //throw new NullReferenceException();
 
                int i =  0;
// 2 예외 발생
                int j = 10 / i;
 
                isSuccess = true;// 예외가 발생하면 이부분이 실행되지 않는다.
 
            }
// 3 catch
             catch (Exception ex)
            {
                Console.WriteLine("-[메시지]:{0}", ex.Message.ToString());
                Console.WriteLine("-[발생위치]:{0}", ex.StackTrace.ToString());
 
                isSuccess = false;
            }
// 4 finally 예외 발생과 상관없이 실행
            finally
            {
                Console.WriteLine("파이널 블럭");
                Console.WriteLine(isSuccess.ToString());
            }
 
        }
    }
}
 



1. try 구문 안에서 예외가 발생하게 되면 무조건 catch 블럭을 찾아 실행


2. catch블럭을 찾아 실행하고 빠져 나감


3. 예외가 발생하지 않았어도 finally블럭을 실행.


출처 : http://blog.daum.net/leehs86/5
댓글
댓글쓰기 폼