'정상적으로'오류/예외를 분류하고 처리하는 방법을 표준화해야합니다.표준화 된 오류 분류 및 처리
나는 현재 오류 번호, 심각도 코드, 위치 정보 및 추가 정보 문자열을 전달하는 함수에 오류를보고하는 프로세스를 사용합니다. 이 함수는 오류가 치명적일 경우 앱을 종료해야하며, 그렇지 않으면 false를 반환합니다. 프로세스의 일부로 사용자에게 시각적 피드백을 제공 할뿐만 아니라이 기능은 일부 심각도 수준 이상의 로그 파일 오류도 발생시킵니다.
오류 번호는 오류 유형을 설명하는 문자열 배열을 색인합니다 (예 : '파일 액세스', '사용자 입력', '스레드 생성', '네트워크 액세스'등). 심각도 코드는 0,1,2 또는 4, 0 = 유익한, 1 = user_retry, 2 = cannot_complete, 4 = cannot_continue. 위치 정보는 모듈 &이고, 추가 정보는 매개 변수 및 지역 변수 값입니다.
나는 이것을 라이브러리에 넣고 모든 응용 프로그램에서 재사용 할 수있는 표준 오류 처리 방법으로 만들고 싶습니다. 나는 주로 리눅스에서 C/C++를 사용하지만, 결과 라이브러리를 다른 언어/플랫폼과 함께 사용하기를 원할 것이다.
아이디어는 는하지만, 이것은 다음 조치가 취해지고 에는 옵션을 사용자에게 제공해서는 안 주어진 심각도 레벨에 대한 몇 가지 기본 동작을 표시하는 오류 유형 배열을 확장하는 것이다?
또는 사용자가 에서 선택해야하는 옵션의 하위 배열이되어야합니까? 의 문제는이 옵션이 필요성이 일반화되어 있다는 것입니다. 프로그래밍 관련 옵션 은 최종 사용자 인 을 완전히 차단할 수 있습니다.
또는 : 중 오류 또는 기본 행동 자체 배열에 따라 오류 LIB 루틴 패스를 사용하는 각 응용 프로그램은한다 - 그러나 이것은 ... 라이브러리의 목적을 물리 칠 것이다
또는 : 각 앱에서 심각도 수준이 으로 처리되어야합니까?
또는 무엇을 제안합니까? 어떻게 오류를 처리합니까? 어떻게 개선 할 수 있습니까?
어떤 언어를 사용하십니까? –
C/C++ (Linux) - 편집 된 질문에 답을 넣어 주겠다.하지만 내 목표는 모든 언어에서 사용할 라이브러리이다. (나는 perl, 어셈블러, PHP 등도 사용한다.) – slashmais
와우, 내가 본 것보다 더 강력하다. –