12 #include <fmt/format.h>
17 : std::runtime_error(message), m_status(status) {
20 : std::runtime_error(message), m_status(status) {
28 fits_close_file(ptr, &status);
47 (void)fits_get_num_hdus(ptr, &num_hdus, &status);
49 throw CfitsioError(HEADER_NOT_EMPTY,
"Cannot safely initialize an non-empty FITS file");
51 (void)fits_create_hdu(ptr, &status);
52 (void)fits_write_key(ptr,
56 "file does conform to FITS standard",
58 (void)fits_write_key(ptr,
62 "number of bits per data pixel",
64 (void)fits_write_key(ptr,
68 "file provides primary HDU keywords only",
72 fits_get_errstatus(status, &err_text[0]);
74 throw CfitsioError(status, fmt::format(
"failed to initialize primary HDU: {}",
80 fitsfile* ptr =
nullptr;
82 fits_create_file(&ptr,
const_cast<char*
>(filename), &status);
83 if (status != 0 || ptr ==
nullptr) {
84 throw CfitsioError(status, fmt::format(
"failed to create FITS file '{}'",