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) { 예외 처리 구문; }
* ...
*
* ******************************************************/
'프로그램 > C# - Study' 카테고리의 다른 글
C# - Ex24DirectoryAndFile (0) | 2010.10.13 |
---|---|
C# - Ex23IO - 파일입출력( XmlSerializer, SoapFormatter, Serialization ) (0) | 2010.10.13 |
11D - ArrayList, Hashtable, ICollection, TheGeneric (0) | 2010.09.24 |
10D - 윈폼 (0) | 2010.09.17 |
10D - Ex19WindowsForms3 (0) | 2010.09.17 |