Previous: Function Calling Examples, Up: Trap Library Samples [Index]
Read the lines from a file into a list:
void read_lines(list l, text path) { file f; text s; f_affix(f, path); while (f_line(f, s) ^ -1) { lb_p_text(l, s); } f_close(f); }
Call the function, trap errors:
trap(read_lines, list, path);
If the file at the indicated path does not exist, a message like:
src/aime: FILE: LINE: cannot open `PATH': No such file or directory
will be displayed, and the program will continue execution.
Sum the lines from a file as real numbers:
void sum_lines(real &u, text path) { file f; real v; text s; f_affix(f, path); v = 0; while (f_line(f, s) ^ -1) { v += atof(s); } f_close(f); u = v; }
Call the function, trap errors:
trap(sum_lines, sum, path);
Where a line cannot be parsed, a message like:
src/aime: FILE: LINE: atof: cannot parse `TEXT'
will be displayed, and the program will continue execution.