# HG changeset patch
# User Alpar Juttner <alpar@cs.elte.hu>
# Date 1215326943 -3600
# Node ID 65cba1032f90cd157a56b911b4917920b07fc546
# Parent  7bf5f97d574f0c8fa09366a59c7c588dd2820c03# Parent  abc5b9d0c67e684c8cfafa55f2edd218f54b82a2
Merge

diff -r 7bf5f97d574f -r 65cba1032f90 demo/lgf_demo.cc
--- a/demo/lgf_demo.cc	Sat Jul 05 00:14:27 2008 +0200
+++ b/demo/lgf_demo.cc	Sun Jul 06 07:49:03 2008 +0100
@@ -20,14 +20,15 @@
 ///\file
 ///\brief Demonstrating graph input and output
 ///
-/// This program gives an example of how to load a directed graph from
-/// an \ref lgf-format "LGF" file with the \ref lemon::DigraphReader
-/// "DigraphReader" class.
+/// This program gives an example of how to read and write a digraph
+/// and additional maps from/to a stream or a file using the 
+/// \ref lgf-format "LGF" format.
 ///
 /// The \c "digraph.lgf" file:
 /// \include digraph.lgf
 ///
-/// And the program which reads it:
+/// And the program which reads it and prints the digraph to the
+/// standard output:
 /// \include lgf_demo.cc
 
 #include <iostream>
@@ -41,12 +42,17 @@
   SmartDigraph g;
   SmartDigraph::ArcMap<int> cap(g);
   SmartDigraph::Node s, t;
-
-  digraphReader("digraph.lgf", g). // read the directed graph into g
-    arcMap("capacity", cap).       // read the 'capacity' arc map into cap
-    node("source", s).             // read 'source' node to s
-    node("target", t).             // read 'target' node to t
-    run();
+  
+  try {
+    digraphReader("digraph.lgf", g). // read the directed graph into g
+      arcMap("capacity", cap).       // read the 'capacity' arc map into cap
+      node("source", s).             // read 'source' node to s
+      node("target", t).             // read 'target' node to t
+      run();
+  } catch (DataFormatError& error) { // check if there was any error
+    std::cerr << "Error: " << error.what() << std::endl;
+    return -1;
+  }
 
   std::cout << "A digraph is read from 'digraph.lgf'." << std::endl;
   std::cout << "Number of nodes: " << countNodes(g) << std::endl;