let iter_lines f ic = try while true do let line = input_line ic in f line done with End_of_file -> () | e -> raise e