std::perror(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’– std::perror(3) πŸ’–

okay bestie, you’re looking at std::perror(3) from the C++ Standard Libary, and we’re gonna get you fluent in it, no cap 🫢


🌸 NAME 🌸

std::perror β€” std::perror (yes, that’s literally the NAME line, we’re keeping it exactly as the page says πŸ’…)


✨ Synopsis ✨

Defined in header <cstdio>:

void perror( const char *s );

okay so this prints a textual description of the error code currently stored in the system variable errno to stderr πŸ’–

The description is formed by concatenating the following components:

  • the contents of the null-terminated byte string pointed to by s, followed by ": " (unless s is a null pointer or the character pointed to by s is the null character).
  • implementation-defined error message string describing the error code stored in errno, followed by '\n'. The error message string is identical to the result of std::strerror(errno).

πŸ¦‹ Parameters πŸ¦‹

  • s β€” pointer to a null-terminated string with explanatory message

πŸ’œ Return value πŸ’œ

(none)

literally nothing, bestie β€” (none) πŸ™ˆ


🌈 Example 🌈

// Run this code

#include <cerrno>
#include <cmath>
#include <cstdio>

int main()
{
    double not_a_number = std::log(-1.0);
    if (errno == EDOM)
        std::perror("log(-1) failed");
    std::printf("%f\n", not_a_number);
}

Possible output:

log(-1) failed: Numerical argument out of domain
nan

🐚 See also 🐚

  • errno β€” macro which expands to POSIX-compatible thread-local error number variable (macro variable)
  • strerror β€” returns a text version of a given error code (function)
  • C documentation for perror

mwah πŸ’‹ source/version: http://cppreference.com, dated 2024.06.10 β€” byeee, go flex that error-message knowledge 🫢✨

πŸ“¦ where this page comes from