linux/linux tips2012. 1. 7. 21:55
리눅스를 하다보면 오류처리를 해야할 일이 아주 많다

리눅스 오류처리 할때 구분해야할것이 있다

1. errno 에 셋팅 되느냐
2. errno  에 셋팅이 안되느냐


1번상황 errno에 셋팅이 되면 에러노 처리를 하자

리눅스에서는 거의 모든 함수가 오류 일때 errno일때 셋된다
간단하게


 void DieWithSystemMessage(const char *msg)

 {

     perror(msg);

     exit(1);

  }

위의 두가지를 분류해서 함수로 만들어서 사용하기 편리하다
ex) DieWithSystemMessage("bind() failed");

perror는 입력한 값을 그대로 출력


perror 함수 원형
#include <stdio.h>
void perror(const char *s);


이때 매개 변수 s 에는 오류 메시지 앞에 덧붙이고 싶은 문자열을 전달하면 된다.


myperror.c 오류 메시지 출력 예    open: No such file or directory 이렇게 해당 오류내용을 보여준다



2번상황
errno 셋팅이 안될때
주로 argc 판별할때 쓴다

 void DieWithUserMessage(const char *msg, const char *detail)

  {

      fputs(msg, stderr);

      fputs(": ", stderr);

      fputs(detail, stderr);

      fputc('\n', stderr);

      exit(1);

  }

ex) if ( argc !=2)
 DieWithUserMessage("Usage : is directory_name")  







 

'linux > linux tips' 카테고리의 다른 글

구조체에 대한 이해  (0) 2012.01.09
리눅스 함수에 대한 이해  (0) 2012.01.09
우분투 11.10 에서 vnc 하기  (1) 2011.10.30
우분투 live 부팅 이란  (0) 2011.10.30
./configure 와 make 의 이해  (0) 2011.10.30
Posted by babuzzzy