«exception-handling» 태그된 질문

예외는 프로그램의 정상적인 흐름과의 편차가 필요한 비정상적인 조건입니다. 일반적으로 예외는 전체 실패를 초래하지 않고 대신 예외 처리기가 참석해야합니다. 예외 처리는 많은 프로그래밍 언어의 내장 구문입니다. 일반적으로 예외는 스택을 해제하여 예외 범위 밖의 정의 된 상태로 롤백 한 후 핸들러 블록 또는 루틴을 호출하여 처리됩니다.

4
PHP에서“do something OR DIE ()”는 어떻게 작동합니까?
MySQL 데이터베이스에 액세스하기 위해 PHP 앱을 작성 중이며 자습서에서 다음과 같은 형식을 말합니다. mysql_connect($host, $user, $pass) or die("could not connect"); PHP는 함수가 실패하여 die 부분을 실행한다는 것을 어떻게 알 수 있습니까? 나는 그것의 "또는"부분이 어떻게 작동하는지 묻는 것 같다. 전에 본 적이없는 것 같아요.

14
std :: exception에서 상속해야합니까?
적어도 하나의 신뢰할 수있는 소스 (내가 취한 C ++ 클래스)에서 C ++의 애플리케이션 별 예외 클래스가 std::exception. 이 접근 방식의 이점에 대해 잘 모르겠습니다. C #에서 상속하는 이유 ApplicationException는 분명합니다. 유용한 메서드, 속성 및 생성자 몇 가지를 얻고 필요한 항목을 추가하거나 재정의하기 만하면됩니다. 로 std::exception그것은 당신이 얻을 모두가 것 같다 …



3
예외에서 전체 스택 추적을 인쇄하는 방법은 무엇입니까?
예를 들어 한 곳에서 ... //---------------a try { // some network call } catch(WebException we) { throw new MyCustomException("some message ....", we); } ... 그리고 다른 곳에서 ... //--------------b try { // invoke code above } catch(MyCustomException we) { Debug.Writeline(we.stacktrace); // <---------------- } 내가 인쇄하는 stacktrace는 a에서 b까지만 시작하며 WebException의 …

5
R에서 예외 처리 [닫힘]
닫은. 이 질문은 Stack Overflow 지침을 충족하지 않습니다 . 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? Stack Overflow의 주제에 맞게 질문을 업데이트하세요 . 휴일 3 년 전 . 이 질문 개선 R에서 예외 처리에 대한 예제 / 튜토리얼이 있습니까? 공식 문서는 매우 간결합니다.

4
Ruby 사용자 정의 오류 클래스 : 메시지 속성 상속
사용자 지정 예외 클래스에 대한 정보를 많이 찾을 수없는 것 같습니다. 내가 아는 것 사용자 정의 오류 클래스를 선언하고에서 상속 StandardError하도록 할 수 있으므로 rescued 가 될 수 있습니다 . class MyCustomError < StandardError end 이렇게하면 다음을 사용하여 올릴 수 있습니다. raise MyCustomError, "A message" 나중에 구조 할 때 메시지를받습니다. …

15
C에서 오류 관리를위한 goto의 유효한 사용?
이 질문은 사실 얼마 전 programming.reddit.com에서 흥미로운 토론 의 결과입니다 . 기본적으로 다음 코드로 요약됩니다. int foo(int bar) { int return_value = 0; if (!do_something( bar )) { goto error_1; } if (!init_stuff( bar )) { goto error_2; } if (!prepare_stuff( bar )) { goto error_3; } return_value = do_the_thing( …

7
C ++에서 예외가 발생한 위치를 어떻게 찾습니까?
어딘가에 잡히지 않은 예외를 던지는 프로그램이 있습니다. 내가 얻는 것은 예외가 발생했다는보고 뿐이며 예외가 발생 된 위치에 대한 정보는 없습니다. 내 코드에서 예외가 생성 된 위치를 알려주지 않는 디버그 기호를 포함하도록 컴파일 된 프로그램이 비논리적으로 보입니다. gdb에서 'catch throw'를 설정하고 throw되는 모든 예외에 대해 역 추적을 호출하지 않고 내 예외가 …

3
"catch, when"을 사용하여 예외 잡기
C #에서 특정 조건이 충족 될 때 catch 핸들러를 실행할 수있는이 새로운 기능을 발견했습니다. int i = 0; try { throw new ArgumentNullException(nameof(i)); } catch (ArgumentNullException e) when (i == 1) { Console.WriteLine("Caught Argument Null Exception"); } 나는 이것이 언제 유용 할 수 있는지 이해하려고 노력하고 있습니다. 하나의 시나리오는 다음과 …

4
구조를 비교할 때이 어설 션이 형식 예외를 던지는 이유는 무엇입니까?
두 System.Drawing.Size구조 의 동등성을 주장하려고하는데 예상되는 주장 실패 대신 형식 예외가 발생합니다. [TestMethod] public void AssertStructs() { var struct1 = new Size(0, 0); var struct2 = new Size(1, 1); //This throws a format exception, "System.FormatException: Input string was not in a correct format." Assert.AreEqual(struct1, struct2, "Failed. Expected {0}, actually it …

1
Yesod의 예외
나는 아주 원시적 인 형태의 ipc(텔넷을 사용하고 특정한 순서로 특정 단어를 가진 문자열을 보내는 데몬을 만들었다 .) 나는 그것을 빼앗아 지금 서버에 JSON메시지를 전달하는 데 사용 하고 Yesod있습니다. 하지만 제 디자인에 대해 정말 마음에 드는 점이 몇 가지 있었는데 지금 제 선택이 무엇인지 잘 모르겠습니다. 내가 한 일은 다음과 같습니다. …

10
404를 어떻게 잡을 수 있습니까?
다음 코드가 있습니다. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "HEAD"; request.Credentials = MyCredentialCache; try { request.GetResponse(); } catch { } 특정 404 오류를 어떻게 잡을 수 있습니까? WebExceptionStatus.ProtocolError는 오류가 발생했음을 감지 만 할 수 있지만 오류의 정확한 코드를 제공하지는 않습니다. 예를 들면 : catch (WebException ex) { if (ex.Status != …

4
try / catch / finally에서 await에 대한 좋은 솔루션입니까?
다음 과 같이 예외 (스택 추적 포함)를 다시 던지기 전에 블록 async에서 메서드 를 호출해야합니다 catch. try { // Do something } catch { // <- Clean things here with async methods throw; } 그러나 불행히도 당신은 또는 블록 await에서 사용할 수 없습니다 . 나는 컴파일러가 당신의 명령이나 그와 비슷한 …

3
Rails에서 다른 Rails 예외처럼 작동하도록 어떻게 예외를 발생 시키나요?
일반 Rails 예외와 동일한 작업을 수행하도록 예외를 발생시키고 싶습니다. 특히 개발 모드에서는 예외 및 스택 추적을 표시하고 프로덕션 모드에서는 "죄송합니다. 문제가 발생했습니다."페이지를 표시합니다. 다음을 시도했습니다. raise "safety_care group missing!" if group.nil? 그러나 단순히 "ERROR signing up, group missing!"development.log 파일에 기록 합니다.

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