2010-06-25 11 views
4

C#에서 예외 개념을 설명해 주시겠습니까?예외의 목적은 무엇입니까?

+0

예외 개념은 C#에서만 고유하지 않습니다. 모든 .NET 언어는 예외를 지원하며 Java 및 네이티브 C++도 예외를 지원합니다. –

+0

http://en.wikipedia.org/wiki/Exception_handling –

답변

0

MSDN 문서를 Exceptions에서 확인하십시오.

간단히 말해서 응용 프로그램에 오류가있을 때마다 예외가 발생합니다. 경계 밖으로 나가는 배열 인덱스, 디스크 I/O의 오류, 0으로 나누기 문제 등등과 같은 많은 종류의 오류가 있습니다. 그러나 일반적으로 프로그램에서 자동으로 수정할 수없는 문제가 발생할 때마다 예외가 발생합니다.

+0

여기에 일종의 요약을 포함하면 도움이됩니다. –

+1

내가 편집에서 작업했습니다. – drharris

1

예외는 메소드 또는 함수가 는 어떻게해야되는 일을 할 수 없을 때 상황입니다.

OpenFile 방법은 [무엇이든지 이유] 파일을 열고 호출자에게 파일 핸들을 반환 할 수없는 경우, 이것은 그것의 주요 목적은 파일을 열 수 있기 때문에 OpenFile 방법에 대한 예외입니다. 이와 같이 예외 사항은 없습니다. 일부 예외 상황 일 수 있습니다. 다른 상황에서는 만성적 일 수 있습니다.. 우리는 그것을 Execution Failures라고 부를 수 있습니다. 예외의 주요 목적은 오류 조건을 전달하는 것입니다.

예는 :OutOfMemoryException는 SQLSERVER 또는 IIS와 같은, 스스로 자신의 메모리 관리를 할 해당 응용 프로그램에 대한 예외 보통 작은 규모의 데이터 입력 응용 프로그램을위한 조건이 아닌 수 있습니다. 스트림을 읽는 경우를 생각해보십시오. ReadByte 메서드가 스트림의 끝 부분에 도달하여 읽을 바이트가 더 이상 없으면 스트림에서 ReadByte를 호출 할 때 더 이상 읽을 바이트가 없기 때문에 예외를 throw해야합니다. 그러나 스트림 끝에 ReadChar 메서드를 호출하면 EOF가 읽을 수있는 유효한 문자이므로 ReadChar 메서드에서 절대적으로 괜찮은 EOF를 읽습니다. ReadByte 메서드 조건은 다음과 같이 호출됩니다. method-failure

+0

메서드는 다음 두 가지 중 하나를 수행해야합니다. 요청 된 작업의 결과를 나타내는 값을 반환하거나 요청 된 작업을 완료 할 수없는 경우 예외를 throw합니다. – kyoryu

+0

오류 코드 기반 오류보고가 전혀 권장되지 않습니다. 이 메소드는 그 목적에 부합해야하며 수용 가능한 값만 반환해야합니다. 메소드가 그렇게하지 못하게하는 조건은 예외이며 외부 버그 데이터베이스 또는 문서와 오류를 관련시키는 데 사용할 수있는'HResult'를 사용해야합니다. 오류 상태 및 해결 방법이 아니라 오류 상태 만 알리기 원하기 때문입니다. –

+0

아래 표를 정당화하십시오. –

관련 문제