본 자료는
1. 전역 예외 처리란?
2. 일반적인 예외 처리와 전역 예외 처리 비교
순서로 진행합니다.
1. 전역 예외 처리란?
전역 예외 처리란 일반적인 예외 처리를 하지 못한 곳에서 발생되는 예외를 전역적으로 모니터링하여 프로그램의 버그를 개선하기 위해서 유용하게 사용될 수 있는 방법으로 예외가 발생하는 곳마다 Log 및 예외 처리를 할 경우 불필요하게 소스 코드가 길어질 수 있으며, 예외 처리하지 못한 곳에서도 예외가 발생할 수 있습니다. 이러한 문제를 해결하고자 전역 예외 처리를 한 번만 선언해 정의되지 않은 예외 처리 부분을 하나로 관리하실 수 있습니다. 프로그램 전역에서 예외 및 Error가 발생하면 Program.cs 파일의 Main() 메소드에서 UnhandledExceptionEventHandler 이벤트가 발생할 수 있게 선언하였으며 이러한 Error 및 예외 처리는 CurrentDomain_UnhandledException 이벤트를 통하여 Log 파일로 저장할 수 있게 구성하였습니다. Log 메시지는 StackTrace 및 Message로 받아 처리할 수 있습니다.
2. 일반적인 예외 처리와 전역 예외 처리 비교
일반적인 예외 처리 코드
{
// 일반적인 예외 처리로 예외가 발생할 수 있는 부분의 코드만을
// try~catch로 처리하도록 한다.
try
{
array1[1] = 2;
array1[2] = 3;
array1[3] = 4; // 예외 발생
catch (IndexOutOfRangeException)
{
전역적 예외 처리 코드
{
static void Main()
{
Application.Run(new Form1());
private static void CurrentDomain_UnhandledException(object sender,UnhandledExceptionEventArgs e)
{