프로그램/C# - Study / / 2010. 9. 24. 12:43

11D - 예외처리(Exception)

반응형


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Ex22Exception
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.AppendText("Before Calling Method() \r\n");
            try
            {
                Method();
            }
            catch (DivideByZeroException ex)
            {
                textBox1.AppendText(ex.Message + " 예외를 처리 했습니다. \r\n");
            }

            textBox1.AppendText("After Calling Method() \r\n");
        }
        private void Method()
        {
            textBox1.AppendText("Before of Method() \r\n");
            int x = 0;
            int y = 10 / x; // 예외 발생 (DivideByZeroException)
            textBox1.AppendText("End of Method() \r\n");

        }

    }
}
/********************************************************
 * 예외처리 (Exception Handling)
 * 1. 예외 : 프로그램 실행 중 발생하는 문제
 *          모든 예외는 Exception 상속 클래스의 객체로 처리
 *
 * 2. 프로그램 실행 중 문제가 발생하면 예외가 throw 됩니다.
 *
 * 3. throw된 예외를 catch하면 예외를 처리할 수 있습니다.
 *   => try block안에서 발생한 예외만 catch할 수 있습니다.
 *  
 * 4. throw된 예외가 catch되지 않으면 최종적으로 CLR에 전달됩니다.
 *   => CLR은 예외메시지 출력 후 프로그램 종료
 *  
 * 5. 예외 발생 이후 예외가 처리되기 전까지 모든 코드는 수행되지 않습니다.
 *
 * 6. 예외 구문 구조
 *     try
 *     {
 *          예외 발생이 의심되는 코드
 *     }
 *     catch(예외 종료 1) { 예외 처리 구문; }
 *     catch(예외 종류 2) { 예외 처리 구문; }
 *     ...
 *    
 * ******************************************************/

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유