반응형

C# 예외 처리 3

[C#] 11. 예외 처리 - 파생 관계의 예외 잡기

11.3 파생 관계의 예외 잡기 C#의 예외 처리구문에서는 하나의 try 블록 뒤에 여러 개의 catch 블록을 지정할 수 있습니다. 그리고 catch 블록에서는 앞에 배치한 곳에서 예외를 받아서 처리하면 뒤에 있는 catch 블록은 수행하지 않습니다. 예를 들어 try 블록 뒤에 Exception 개체를 받아 처리하는 catch 블록과 SystemException 개체를 받아 처리하는 catch블록을 지정했다고 가정합시다. 기반 형식 변수로 파생 형식 개체를 참조할 수 있기 때문에 어떠한 예외가 발생해도 앞에 배치한 catch 블록에서 예외를 받아 처리하고 뒤에 배치한 catch 블록은 동작하지 않습니다. 따라서 여러 개의 catch 블록을 배치할 때 파생 형식을 처리하는 catch 블록부터 배치해야 ..

[C#] 11. 예외 처리 - 예외 클래스

11.2 예외 클래스 C#에서 throw 뒤에 올 수 있는 형식은 반드시 Exceptaion 형식 개체이거나 Exceptaion 형식을 기반으로 파생한 형식 개체여야 합니다. 이와 같은 문법적 제약은 개발자가 프로그래밍하기 어렵게 만들기 보다는 오히려 논리적 버그를 잡는데 도움을 줍니다. Exception 클래스에는 예외 발생 이유를 나타내는 메시지와 예외 발생 소스, 예외 발생한 위치의 코드를 수행하기까지의 스택 역추적 정보를 제공합니다. 따라서 개발자가 Exception 클래스를 기반으로 예외 클래스를 정의하면 기반 형식인 Exception 클래스에서 제공하는 정보를 별도의 구현없이 제공할 수 있습니다. static void Main(string[] args) { try { Demo demo = ne..

[C#] 11. 예외 처리 - 예외처리 구문

11. 예외 처리 이번에는 C#언어의 예외 처리를 알아봅시다. 프로그램이 잘못 동작하는 이유를 살펴보면 사용자가 잘못 사용하거나 개발자가 논리적 버그가 있는 코드를 작성하거나 프로그램이 동작할 수 있는 조건을 만족하지 못하는 등의 이유가 있습니다. 보통 사용자가 잘못 사용하는 것을 에러라고 말하며 개발자가 논리 전개를 잘못한 것을 버그, 프로그램이 동작할 수 없는 조건일 때 예외라고 말합니다. C#의 예외 처리는 프로그램이 더 이상 진행할 수 없는 상태에 도달했을 때 처리하는 방법입니다. 그럼에도 불구하고 C#의 예외 처리를 이용하면 사용자의 실수를 대처하기 위한 방법이나 개발자의 논리적 버그를 확인하기 위한 목적으로도 사용합니다. 11.1 예외 처리 구문 C#의 예외 처리 구문은 try-catch-fi..

반응형