error(3) - wariua/manpages-ko GitHub Wiki
error, error_at_line, error_message_count, error_one_per_line, error_print_progname - glibc μ€λ₯ λ³΄κ³ ν¨μ
#include <error.h>
void error(int status, int errnum, const char *format, ...);
void error_at_line(int status, int errnum, const char *filename,
unsigned int linenum, const char *format, ...);
extern unsigned int error_message_count;
extern int error_one_per_line;
extern void (*error_print_progname) (void);
error()
λ λ²μ© μ€λ₯ λ³΄κ³ ν¨μμ΄λ€. stdout
μ νλ¬μ νκ³ λμ stderr
λ‘ νλ‘κ·Έλ¨ μ΄λ¦, μ½λ‘ κ³Ό 곡백, printf(3) λ°©μ μμ λ¬Έμμ΄ format
μΌλ‘ μ§μ ν λ©μμ§λ₯Ό μΆλ ₯νλ©°, errnum
μ΄ 0μ΄ μλλ©΄ λ λ²μ§Έ μ½λ‘ κ³Ό 곡백, κ·Έλ¦¬κ³ strerror(errnum)
μμ μ»μ λ¬Έμμ΄μ ν¨κ» μΆλ ₯νλ€. format
μ νμν μΈμκ° μμΌλ©΄ μΈμ λͺ©λ‘μμ format
λ€μ λ°λΌμμΌ νλ€. μΆλ ₯ λ΄μ© λμλ κ°ν λ¬Έμκ° λΆλλ€.
error()
μμ μ°λ νλ‘κ·Έλ¨ μ΄λ¦μ μ μ λ³μ program_invocation_name(3)μ κ°μ΄λ€. program_invocation_name
μ μ²μμλ main()
μ argv[0]
κ³Ό κ°μ κ°μ κ°μ§κ³ μλ€. μ΄ λ³μμ κ°μ λ°κΎΈλ©΄ error()
μΆλ ₯λ λ°λλ€.
status
κ° 0 μλ κ°μ΄λ©΄ error()
μμ κ·Έ κ°μ μ’
λ£ μνλ‘ ν΄μ exit(3)λ₯Ό νΈμΆν΄μ νλ‘κ·Έλ¨μ μ’
λ£μν¨λ€.
error_at_line()
ν¨μλ error()
μ λμΌνλ μΆκ°λ‘ filename
λ° linenum
μΈμκ° μλ€. λ΄λλ μΆλ ₯μ΄ error()
μ λ§μ°¬κ°μ§μ΄λ νλ‘κ·Έλ¨ μ΄λ¦ λ€μμ μ½λ‘ , filename
μ κ°, μ½λ‘ , linenum
μ κ°μ΄ λ€μ΄κ°λ€. error_at_line()
νΈμΆ μμ μ μ²λ¦¬κΈ°μ κ° __LINE__
κ³Ό __FILE__
μ΄ μ μ©νκΈ΄ νμ§λ§ λ€λ₯Έ κ°λ μΈ μ μλ€. μλ₯Ό λ€μ΄ μ΄ μΈμλ€λ‘ μ
λ ₯ νμΌ λ΄μ μμΉλ₯Ό λνλΌ μλ μμ κ²μ΄λ€.
μ μ λ³μ error_one_per_line
μ΄ 0 μλ κ°μΌλ‘ μ€μ λΌ μμΌλ©΄ κ°μ filename
λ° linenum
κ°μΌλ‘ μ°λ¬μ error_at_line()
μ νΈμΆνλ©΄ (μ²μμ) λ©μμ§ ν κ°λ§ μ°νκ² λλ€.
μ μ λ³μ error_message_count
λ error()
λ° error_at_line()
μΌλ‘ μ§κΈκ» μΆλ ₯ν λ©μμ§ μλ₯Ό μΌλ€.
μ μ λ³μ error_print_progname
μ ν¨μ μ£Όμκ° ν λΉλΌ μμΌλ©΄ (μ¦ NULLμ΄ μλλ©΄) λ©μμ§ μμ νλ‘κ·Έλ¨ μ΄λ¦κ³Ό μ½λ‘ μ μΆλ ₯νμ§ μκ³ λμ κ·Έ ν¨μλ₯Ό νΈμΆνλ€. κ·Έλ¬λ©΄ κ·Έ ν¨μμμ stderr
λ‘ μ λΉν λ¬Έμμ΄μ μ°μ΄μΌ νλ€.
μ΄ μ μμ μ¬μ©νλ μ©μ΄λ€μ λν μ€λͺ μ attributes(7)λ₯Ό 보λΌ.
μΈν°νμ΄μ€ | μμ± | κ° |
---|---|---|
error() |
μ€λ λ μμ μ± | MT-Safe locale |
error_at_line() |
μ€λ λ μμ μ± | MT-Unsafe race: error_at_line/error_one_per_line locale |
λ΄λΆ error_one_per_line
λ³μμ μ κ·Όμ΄ μ΄λ€μ§λ€. (μ΄λ€ λκΈ°νλ μμ§λ§ int
λ₯Ό ν λ² μ°λ κ²μ΄λ―λ‘ μΆ©λΆν μμ ν κ²μ΄λ€.) κ·Έλ¦¬κ³ error_one_per_line
μ΄ 0 μλ κ°μΌλ‘ μ€μ λΌ μλ κ²½μ°μλ λ§μ§λ§μΌλ‘ μ°μ νμΌ μ΄λ¦κ³Ό ν λ²νΈλ₯Ό λ΄λ (μ¬μ©μμκ² λ
ΈμΆλμ§ μλ) μ μ λ³μλ€μ λκΈ°ν μλ μ κ·Ό λ° λ³κ²½μ΄ μ΄λ€μ§λ€. κ°±μ μ΄ μμμ μ΄μ§ μμΌλ©° μ·¨μλ₯Ό λΉνμ±ν νκΈ° μ μ μ΄λ€μ§κΈ° λλ¬Έμ λ λ³μ μ€ νλλ§ λ³κ²½λκ³ μ€νμ΄ μ€λ¨λ μ μλ€. κ·Έ μΈμλ error_at_line()
μ΄ error()
μ κ±°μ λκ°λ€.
μ΄ ν¨μ λ° λ³μλ€μ GNU νμ₯μ΄λ―λ‘ μ΄μμ±μ΄ μμ΄μΌ νλ νλ‘κ·Έλ¨μμλ μ¬μ©νμ§ λ§μμΌ νλ€.
err(3), errno(3), exit(3), perror(3), program_invocation_name(3), strerror(3)
2017-09-15