«exceptions» 태그된 질문

예외는 응용 프로그램 프로세스에서 프로그램의 정상적인 흐름과의 편차가 필요한 경우입니다.

7
C ++에 '최종'구성이없는 이유는 무엇입니까?
C ++에서의 예외 처리는 try / throw / catch로 제한됩니다. Object Pascal, Java, C # 및 Python과 달리 C ++ 11에서도 finally구문이 구현되지 않았습니다. "예외 안전 코드"에 대해 언급 한 많은 C ++ 문헌을 보았습니다. Lippman은 예외 안전 코드가 Primer의 범위를 넘어서는 중요하지만 진보 된 어려운 주제라고 썼다. 이는 안전한 …
57 c++  exceptions 

12
일반적인 예외를 잡는 것이 실제로 나쁜 일입니까?
나는 일반적으로 대부분의 코드 분석 경고에 동의하며이를 준수하려고합니다. 그러나 나는 이것으로 어려움을 겪고있다. CA1031 : 일반 예외 유형을 포착하지 마십시오 이 규칙의 근거를 이해합니다. 그러나 실제로 예외 발생에 관계없이 동일한 조치를 취하려면 왜 각각을 구체적으로 처리해야합니까? 또한 특정 예외를 처리하는 경우 나중에 호출하는 코드가 변경되어 새로운 예외가 발생하면 어떻게됩니까? 이제 …
56 c#  design  exceptions 

9
예외를 던지거나 코드 실패
이 스타일에 반대되는 장단점이 있는지 궁금합니다. private void LoadMaterial(string name) { if (_Materials.ContainsKey(name)) { throw new ArgumentException("The material named " + name + " has already been loaded."); } _Materials.Add( name, Resources.Load(string.Format("Materials/{0}", name)) as Material ); } 이 방법은 각각에 대해 name한 번만 실행 해야합니다 . _Materials.Add()같은 시간에 여러 번 …
52 exceptions 

3
예외 사양이 나쁜 이유는 무엇입니까?
약 10 년 전에 학교로 돌아와서 예외 지정자를 사용하도록 가르치고있었습니다. 내 배경은 그들 중 하나이기 때문에 강제하지 않으면 C ++을 완고하게 피하는 Torvaldish C 프로그래머이기 때문에 나는 C ++로만 끝나고 내가 할 때 예외 지정자를 계속 사용합니다. 그러나 대부분의 C ++ 프로그래머는 예외 지정자를 찌푸리는 것처럼 보입니다. 나는 이와 같은 …

6
Java 점검 예외에 대한 임시 해결책
람다 및 기본 메소드 인터페이스에 대한 새로운 Java 8 기능이 많이 있습니다. 그러나 여전히 확인 된 예외로 지루합니다. 예를 들어 객체의 보이는 필드를 모두 나열하려면 간단히 다음과 같이 작성하고 싶습니다. Arrays.asList(p.getClass().getFields()).forEach( f -> System.out.println(f.get(p)) ); 그러나 get메소드가 Consumer인터페이스 계약에 동의하지 않는 확인 된 예외를 throw 할 수 있으므로 해당 예외를 …

4
파이썬에서 반복자가 예외를 발생시키는 이유는 무엇입니까?
Java 반복자 구문은 다음과 같습니다 (C #에서 비슷한 구문). Iterator it = sequence.iterator(); while (it.hasNext()) { System.out.println(it.next()); } 말이됩니다. 다음은 파이썬에서 동등한 구문입니다. it = iter(sequence) while True: try: value = it.next() except StopIteration: break print(value) 예외는 예외적 인 상황에서만 사용해야한다고 생각했습니다. 파이썬이 예외를 사용하여 반복을 중지하는 이유는 무엇입니까?

4
메소드가 여러 유형의 확인 된 예외를 처리하지 않아야하는 이유는 무엇입니까?
SonarQube를 사용하여 Java 코드를 분석하고이 규칙 (중요하게 설정 됨)이 있습니다. 공개 메소드는 최대 하나의 확인 된 예외를 처리해야합니다. 확인 된 예외를 사용하면 메소드 호출자가 오류를 전파하거나 처리하여 오류를 처리해야합니다. 이것은 예외를 메소드 API의 일부로 만듭니다. 호출자의 복잡성을 합리적으로 유지하기 위해 메소드는 여러 종류의 확인 된 예외를 발생시키지 않아야합니다. " Sonar의 …

8
예외 처리 메커니즘없이 현대 언어를 디자인해야하는 이유는 무엇입니까?
많은 현대 언어 는 풍부한 예외 처리 기능을 제공 하지만 Apple의 Swift 프로그래밍 언어 는 예외 처리 메커니즘을 제공하지 않습니다 . 내가 예외를 겪었을 때, 이것이 의미하는 바에 대해 마음을 감싸는 데 어려움을 겪고 있습니다. Swift에는 어설 션이 있으며 물론 반환 값이 있습니다. 그러나 나는 예외 기반 사고 방식이 예외없이 …


14
프로그래밍 언어에서 오류가“예외”로 명명 된 이유는 무엇입니까?
나는 실제로 그것에 대해 꽤 오랫동안 생각 해왔다. 나는 영어 원어민이 아니지만 여전히 수년간의 프로그래밍 경험을 가지고 있으며 항상 나에게 이것을 물었습니다. 오류로 이름이 Exception 인 이유는 무엇입니까? PageNotFoundError대신 사용할 수 있습니다 PageNotFoundException.

8
예외 객체를 던지는 대신 반환하는 합법적 인 이유가 있습니까?
이 질문은 예외 처리를 지원하는 모든 OO 프로그래밍 언어에 적용됩니다. 설명 목적으로 만 C #을 사용하고 있습니다. 일반적으로 코드가 즉시 처리 할 수 ​​없다는 문제가 발생 catch하면 다른 위치 (일반적으로 외부 스택 프레임) 의 절에서 발견되는 예외가 발생합니다 . Q : 예외가 발생하지 않고 잡히지 않고 단순히 메서드에서 반환 된 …

4
예외 전파 : 언제 예외를 포착해야합니까?
MethodA는 MethodB를 호출하여 MethodC를 호출합니다. MethodB 또는 MethodC에는 예외 처리가 없습니다. 그러나 MethodA에는 예외 처리가 있습니다. MethodC에서는 예외가 발생합니다. 이제 예외는 MethodA까지 버블 링되어 적절하게 처리됩니다. 이것에 무슨 문제가 있습니까? 내 마음에, 어떤 시점에서 호출자는 MethodB 또는 MethodC를 실행할 것이고, 그 메소드에서 예외가 발생하면 해당 메소드 내에서 예외를 처리하여 얻을 …

11
오류 변수는 안티 패턴 또는 좋은 디자인입니까?
실행을 중단해서는 안되는 몇 가지 가능한 오류를 처리하기 위해 error클라이언트가 확인하고 예외를 throw하는 데 사용할 수 있는 변수가 있습니다. 안티 패턴입니까? 이것을 처리하는 더 좋은 방법이 있습니까? 이에 대한 예제는 PHP의 mysqli API를 볼 수 있습니다 . 가시성 문제 (접근 자, 공용 및 개인 범위, 클래스 또는 전역 변수)가 올바르게 …

4
파이썬 용서 대 권한 및 오리 입력
파이썬에서는 종종 "권한 요청"(유형 / 조건 확인) 대신 "용서하기"(예외 잡기)가 더 좋다고 들었습니다. 파이썬에서 오리 타이핑을 시행하는 것과 관련하여, 이것은 try: x = foo.bar except AttributeError: pass else: do(x) 보다 나은 또는 나쁜 if hasattr(foo, "bar"): do(foo.bar) else: pass 성능, 가독성, "pythonic"또는 기타 중요한 요소와 관련하여?

8
범위를 벗어난 의미있는 값의 경우 예외를 던지거나 직접 처리해야합니까?
위도 / 경도 좌표를 나타내는 구조체를 작성했습니다. 값은 경도의 경우 -180 ~ 180, 위도의 경우 90 ~ -90입니다. 해당 구조체의 사용자가 해당 범위를 벗어난 값을 제공하면 두 가지 옵션이 있습니다. 예외 발생 (범위를 벗어남) 값을 구속 조건으로 변환 -185의 좌표는 의미를 갖기 때문에 (극좌표이므로 +175로 매우 쉽게 변환 될 수 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.