2010-07-09 2 views
3

가능한 중복은 : VB.NET에서 처리 예외를 적용하지 않는 이유는 무엇입니까?

만약 내가 올바르게 기억
Why are Exceptions not Checked in .NET?

는 자바 잡기 불리는 방법을 던질 수있는 예외를 처리 적용합니다. .NET은 왜 그렇게하지 못합니까?

+2

이 시행 권한을 보유하고있는 java 이외의 많은 언어가 있습니까? 나는 너무 많은 것을 생각할 수 없다. 나는 자바가 이상한 사람이 될지도 모른다고 생각한다. 그게 나쁘진 않아 ... –

+2

중복 : http://stackoverflow.com/questions/124143/why-are-exceptions-not-checked-in-net –

답변

11

Java의이 기능을 확인 예외라고합니다. 앤더스, C 번호의 창조자 때문에도 C#을 경우 그들은 결과적으로 C# 및에 VB.Net

내가 결과적으로 VB.Net 말을 포함되지 않은 이유를 그는 자세히 설명 인터뷰를했다 또한 CLR에는 검사 예외가 포함되어 VB.Net에 포함 된 예외가 없습니다. VB는 이미 예외를 포함하지 않은 모델로부터의 거대한 변형을 받고있었습니다. CLR의 나머지 부분과 완전히 다른 새로운 예외 모델을 도입하면 효과적이지 않고 사용자 혼란이 발생하여 상호 언어 호환성 문제가 발생할 수 있습니다.

3

The Trouble with Checked Exceptions은 C# 아키텍트 인 Anders Hejlsberg가 말하는 곳에서 읽는 것이 좋습니다. Bruce Eckel과 Bill Venners는 확인 된 예외에 대한 버전 관리 및 확장 성 문제에 대해 설명합니다.

2

경우에 따라 예외가 발생하는 메서드에서 바로 처리하지 않으려는 경우가 있습니다.

때때로 할 수있는 일이 없습니다.

예를 들어, 데이터베이스에서 데이터를 검색하는 중 데이터를 검색하는 데 문제가있는 경우 데이터 액세스 계층이 문제를 처리하기에 최적의 위치가 아닐 수 있습니다. 비즈니스 로직 계층이나 프레젠테이션 계층에 예외를 버리는 것이 더 좋을 수 있습니다. 적절한 정보가 사용자에게 표시 될 수 있습니다.

.Net에서 일반적인 접근 방식은 사용자가 뭔가를 할 수있는 경우에만 예외를 처리하는 것입니다. 그리고 아주 자주, 당신이 할 수있는 일은 유용한 정보를 사용자에게 제공하는 것입니다.

관련 문제