«exceptions» 태그된 질문

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

9
많은 예외 메시지에 유용한 세부 정보가 포함되지 않은 이유는 무엇입니까?
예외 메시지에 유용한 세부 정보가 포함되어야 한다는 일정 정도의 동의가있는 것 같습니다 . 시스템 구성 요소의 많은 예외가 유용한 세부 정보를 포함하지 않는 이유는 무엇입니까? 몇 가지 예 : .NET의 List인덱스 액세스는 ArgumentOutOfRangeException않습니다 하지 나에게 시도하고 유효 된 인덱스 값을 알 않으며 나에게 허용 된 범위를 알려 않습니다. 기본적으로 MSVC …
220 c#  c++  exceptions 

22
null 참조는 실제로 나쁜 것입니까?
프로그래밍 언어에 null 참조를 포함시키는 것이 "십억 달러의 실수"라고 들었습니다. 그런데 왜? 물론 NullReferenceExceptions이 발생할 수 있지만 무엇을해야합니까? 잘못 사용하면 언어의 모든 요소가 오류의 원인이 될 수 있습니다. 그리고 대안은 무엇입니까? 나는 이것을 말하는 대신에 : Customer c = Customer.GetByLastName("Goodman"); // returns null if not found if (c != null) …

9
제어 흐름으로서의 예외는 심각한 반 패턴으로 간주됩니까? 그렇다면 왜 그렇습니까?
90 년대 후반에 나는 흐름 제어로 예외를 사용하는 코드베이스로 꽤 일했습니다. 전화 응용 프로그램을 구동하기 위해 유한 상태 머신을 구현했습니다. 최근에 MVC 웹 앱을 사용하고 있었기 때문에 그 시절을 생각 나게합니다. 둘 다 Controller다음에 갈 곳을 결정하고 대상 로직에 데이터를 제공합니다. DTMF 톤과 같은 구식 전화 도메인의 사용자 작업은 작업 …

13
입력이 기술적으로 유효하지만 만족할 수 없을 때 예외 대 빈 결과 집합
공개 릴리스 용 라이브러리를 개발 중입니다. 여기에는 집합을 생성, 검사, 분할 및 새로운 형태로 투영하는 다양한 개체 집합에 대한 다양한 방법이 포함되어 있습니다. 관련이있는 경우 IEnumerableNuGet 패키지로 릴리스되는 LINQ 스타일 확장이 포함 된 C # 클래스 라이브러리 입니다. 이 라이브러리의 일부 메소드에는 만족할 수없는 입력 매개 변수가 제공 될 수 …

7
좋은 예외 메시지를 작성하는 방법
현재 코드 검토를 수행 중이며 주목해야 할 사항 중 하나는 예외 메시지 가 예외가 발생한 위치 를 반복 하는 것처럼 보이는 예외의 수입니다 . 예 : throw new Exception("BulletListControl: CreateChildControls failed."); 이 메시지의 세 가지 항목 모두 나머지 예외에서 해결할 수 있습니다. 스택 추적에서 클래스와 메서드를 알고 실패했습니다 (예외가 있기 …
101 exceptions 

12
예외는 예외적 인 경우에만 사용해야한다고 들었습니다. 내 사례가 예외적인지 어떻게 알 수 있습니까?
필자의 구체적인 사례는 사용자가 응용 프로그램에 문자열을 전달하고 응용 프로그램이 구문 분석하여 구조화 된 객체에 할당한다는 것입니다. 때때로 사용자는 잘못된 것을 입력 할 수 있습니다. 예를 들어, 그들의 의견은 사람을 묘사 할 수 있지만 나이는 "사과"라고 말할 수 있습니다. 이 경우 올바른 동작은 트랜잭션을 롤백하고 사용자에게 오류가 발생했음을 알리는 것이므로 …

9
우선 처리와 예외 처리를 확인 하시겠습니까?
나는 "Head First Python" (올해 배우는 언어) 책을 통해 작업하고 있으며 두 가지 코드 기술에 대해 논쟁하는 섹션에 도달했습니다 : 첫 번째 검사와 예외 처리. 다음은 Python 코드 샘플입니다. # Checking First for eachLine in open("../../data/sketch.txt"): if eachLine.find(":") != -1: (role, lineSpoken) = eachLine.split(":",1) print("role=%(role)s lineSpoken=%(lineSpoken)s" % locals()) # Exception …

6
필수 메소드 매개 변수에 assert 또는 IllegalArgumentException을 사용하는 것이 더 낫습니까?
Java에서 더 권장되는 이유는 무엇입니까? 두 유형 모두 예외가 발생하므로 처리 측면에서 동일합니다. assert약간 짧지 만 얼마나 중요한지 잘 모르겠습니다. public void doStuff(Object obj) { assert obj != null; ... } vs public void doStuff(Object obj) { if (obj == null) { throw new IllegalArgumentException("object was null"); } ... }

8
마법 값을 반환하거나 예외를 던지거나 실패시 거짓을 반환합니까?
때로는 실제 답변이없는 것이 예외가 아닌 클래스 라이브러리에 대한 메소드 또는 속성을 작성 해야하는 경우가 있습니다. 확인할 수 없거나 사용할 수 없거나 찾을 수 없거나 현재 사용할 수 없거나 더 이상 사용할 수있는 데이터가 없습니다. C # 4에서 실패를 나타내는 비교적 예외적이지 않은 상황에 대한 세 가지 가능한 솔루션이 있다고 …

10
예외, 오류 코드 및 차별적 노동 조합
최근에 C # 프로그래밍 작업을 시작했지만 Haskell에서 상당한 배경 지식을 얻었습니다. 그러나 C #은 객체 지향 언어라는 것을 알고 있습니다. 둥근 못을 사각형 구멍에 강요하고 싶지 않습니다. 나는 Exception Throwing Microsoft에서 기사를 읽었습니다 . 오류 코드를 반환 하지 마십시오 . 그러나 Haskell에 익숙해 져서 C # 데이터 형식을 사용하여 OneOf결과를 …
80 c#  exceptions 

8
캐치 절없이 try ...를 사용하는 이유는 무엇입니까?
프로그래밍하는 고전적인 방법은입니다 try ... catch. try없이 사용하는 것이 언제 적절 catch합니까? 파이썬에서 다음은 합법적으로 보이며 의미가 있습니다. try: #do work finally: #do something unconditional 그러나 코드는 catch아무것도 하지 않았습니다 . 마찬가지로 Java에서는 다음과 같이 생각할 수 있습니다. try { //for example try to get a database connection } finally …

14
산술 오버플로가 왜 무시됩니까?
좋아하는 프로그래밍 언어로 1에서 2,000,000까지의 모든 숫자를 합한 적이 있습니까? 결과는 수동으로 쉽게 계산할 수 있습니다 (2,000,001,000,000). 부호없는 32 비트 정수의 최대 값보다 약 900 배 더 큽니다. C #이 출력됩니다 -1453759936-음수! 그리고 Java도 마찬가지입니다. 이는 기본적으로 산술 오버플로를 무시하는 일반적인 프로그래밍 언어가 있음을 의미합니다 (C #에는이를 변경할 수있는 숨겨진 …


12
오류를 발생시켜야 하는지를 나타내는 플래그가있는 것
나는 최근에 훨씬 더 오래된 개발자들 (약 50 세 이상)과 함께 일하기 시작했습니다. 그들은 시스템이 다운 될 수없는 항공을 다루는 중요한 애플리케이션에서 작업했습니다. 결과적으로 이전 프로그래머는 이런 식으로 코딩하는 경향이 있습니다. 그는 예외가 발생해야하는지 여부를 나타 내기 위해 객체에 부울을 넣는 경향이 있습니다. 예 public class AreaCalculator { AreaCalculator(bool shouldThrowExceptions) …

15
빈 캐치 명령문을 갖는 것이 괜찮습니까?
나는 그것에 대해 생각했고 예를 내놓을 수 없었습니다. 누군가 예외를 잡아서 아무 일도하지 않는 이유는 무엇입니까? 예를 들어 줄 수 있습니까? 어쩌면 절대로해서는 안되는 것일 수도 있습니다.
58 exceptions 

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