src/library_err.c File Reference

Error handling library. More...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "ccp4_errno.h"

Classes

struct  error_system

Functions

const char * ccp4_strerror (int error)
void ccp4_error (const char *msg)
void ccp4_fatal (const char *message)
int CFile_Perror (const char *msg)
int ccp4_liberr_verbosity (int iverb)
void ccp4_signal (const int code, const char *const msg, void(*callback)())

Variables

int ccp4_errno = 0

Detailed Description

Error handling library.

Author:
Charles Ballard

Function Documentation

void ccp4_error ( const char *   ) 

Print out passed message and internal message based upon ccp4_errno "message : error message "

Parameters:
message (const char *)
Returns:
void

References ccp4_errno, and ccp4_strerror().

Referenced by ccp4_fatal().

void ccp4_fatal ( const char *   ) 

Wrapper for ccp4_error which also calls exit(1)

Parameters:
message (const char *)
Returns:
void

References ccp4_error().

Referenced by ccp4_file_fatal(), and ccp4_utils_isnan().

int ccp4_liberr_verbosity ( int  iverb  ) 

Function to set verbosity level for messages from ccp4_signal. Currently just off (0) and on (1). It should be generalised to be able to switch individual components on and off, i.e. replace 1 by a mask. cf. ccp4VerbosityLevel which sets the verbosity level for ccp4printf These are separate as they may be used differently.

Parameters:
iverb If >= 0 then set the verbosity level to the value of iverb. If < 0 (by convention -1) then report current level.
Returns:
current verbosity level

Referenced by ccp4_signal(), ccp4uc_cells_differ(), MtzGetUserCellTolerance(), MtzPut(), and sort_batches().

void ccp4_signal ( const   int,
const char *  const,
void(*)()   
)

Routine to set ccp4_errno and print out message for error tracing. This should be the only way in which ccp4_errno is set. See error codes above for levels and systems. A callback with prototype void function(void) may also be passed to the routine. Note: FATAL calls exit(1). If ccp4_liberr_verbosity returns 0, then ccp4_signal sets ccp4_errno and returns without doing anything else.

Parameters:
error code (int)
message (const char * const)
callback (point to routine void (*)(void) )
Returns:
void

References ccp4_errno, and ccp4_liberr_verbosity().

Referenced by ccp4_cmap_get_label(), ccp4_cmap_get_mask(), ccp4_cmap_get_symop(), ccp4_cmap_open(), ccp4_cmap_read_data(), ccp4_cmap_read_row(), ccp4_cmap_read_section(), ccp4_cmap_read_section_header(), ccp4_cmap_seek_data(), ccp4_cmap_seek_row(), ccp4_cmap_seek_section(), ccp4_cmap_seek_symop(), ccp4_cmap_set_label(), ccp4_cmap_set_mask(), ccp4_cmap_set_symop(), ccp4_cmap_write_data(), ccp4_cmap_write_row(), ccp4_cmap_write_section(), ccp4_cmap_write_section_header(), ccp4_file_close(), ccp4_file_fatal(), ccp4_file_feof(), ccp4_file_itemsize(), ccp4_file_length(), ccp4_file_mode(), ccp4_file_open(), ccp4_file_open_fd(), ccp4_file_open_file(), ccp4_file_rarch(), ccp4_file_raw_read(), ccp4_file_raw_seek(), ccp4_file_raw_write(), ccp4_file_read(), ccp4_file_readchar(), ccp4_file_readcomp(), ccp4_file_readfloat(), ccp4_file_readint(), ccp4_file_readshort(), ccp4_file_readshortcomp(), ccp4_file_rewind(), ccp4_file_seek(), ccp4_file_setbyte(), ccp4_file_setmode(), ccp4_file_setstamp(), ccp4_file_tell(), ccp4_file_warch(), ccp4_file_write(), ccp4_file_writechar(), ccp4_file_writecomp(), ccp4_file_writefloat(), ccp4_file_writeint(), ccp4_file_writeshort(), ccp4_file_writeshortcomp(), ccp4_lrassn(), ccp4_parse(), ccp4_parser(), ccp4fyp(), ccp4spg_centric_phase(), ccp4spg_generate_indices(), ccp4spg_get_multiplicity(), ccp4spg_is_centric(), ccp4spg_is_in_asu(), ccp4spg_is_sysabs(), ccp4spg_load_spacegroup(), ccp4spg_print_centric_zones(), ccp4spg_print_epsilon_zones(), ccp4spg_print_recip_ops(), ccp4spg_print_recip_spgrp(), ccp4spg_put_in_asu(), ccp4spg_set_centric_zones(), ccp4spg_set_epsilon_zones(), ccp4spg_symbol_Hall(), doublefromstr(), FORTRAN_SUBR(), mat4_to_symop(), MtzAddColumn(), MtzAddDataset(), MtzAddXtal(), MtzAssignColumn(), MtzGetUserCellTolerance(), MtzHklcoeffs(), MtzMalloc(), MtzMallocBatch(), MtzMallocCol(), MtzOpenForWrite(), MtzParseLabin(), MtzWrefl(), parse_mapheader(), set_fft_grid(), symop_to_mat4(), and write_mapheader().

const char* ccp4_strerror ( int   ) 

Obtain character string based upon error code. Typical use ccp4_strerror(ccp4_errno) The returned string is statically allocated in the library_err.c file and should not be freed.

Parameters:
error code (int)
Returns:
const pointer to error message (const char *)

Referenced by ccp4_error(), and ccp4_file_error().


Variable Documentation

int ccp4_errno = 0

Generated by  doxygen 1.6.2