Make describe a little more graceful

- Leaflists and actions are already implemented, so enable that for
describe.

- Notifications and anyxml aren't implemented yet, this patch makes them
not crash the cli. But I think it's a better user experience if the
exception gets caught (rather than crash the CLI).

Change-Id: Ifea1b413e15374d3006bce0aad964df515c5dec3
diff --git a/src/cli.cpp b/src/cli.cpp
index 3118d94..a2c9cdc 100644
--- a/src/cli.cpp
+++ b/src/cli.cpp
@@ -255,6 +255,8 @@
             std::cerr << ex.what() << std::endl;
         } catch (std::runtime_error& ex) {
             std::cerr << ex.what() << std::endl;
+        } catch (std::logic_error& ex) {
+            std::cerr << ex.what() << std::endl;
         }
 
         lineEditor.history_add(line);
diff --git a/src/interpreter.cpp b/src/interpreter.cpp
index 97836bf..f1682bf 100644
--- a/src/interpreter.cpp
+++ b/src/interpreter.cpp
@@ -171,11 +171,16 @@
     case yang::NodeTypes::Rpc:
         ss << "RPC";
         break;
-    case yang::NodeTypes::Action:
-    case yang::NodeTypes::AnyXml:
     case yang::NodeTypes::LeafList:
+        ss << "leaf-list";
+        break;
+    case yang::NodeTypes::Action:
+        ss << "action";
+        break;
+    case yang::NodeTypes::AnyXml:
+        throw std::logic_error("Sorry, anyxml isn't supported yet.");
     case yang::NodeTypes::Notification:
-        throw std::logic_error("describe can't handle the type of " + path);
+        throw std::logic_error("Sorry, notifications aren't supported yet.");
     }
 
     if (!m_datastore.schema()->isConfig(path)) {