THRIFT-2254 Exceptions generated by Go compiler should implement error interface

Patch: Aleksey Pesternikov
diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc
index 559a20e..36a9c67 100644
--- a/compiler/cpp/src/generate/t_go_generator.cc
+++ b/compiler/cpp/src/generate/t_go_generator.cc
@@ -1021,6 +1021,12 @@
         indent() << "  return fmt.Sprintf(\"" << escape_string(tstruct_name) << "(%+v)\", *p)" << endl <<
         indent() << "}" << endl << endl;
 
+    if(is_exception) {
+        out <<
+            indent() << "func (p *" << tstruct_name << ") Error() string {" << endl <<
+            indent() << "  return p.String()" << endl <<
+            indent() << "}" << endl << endl;
+    }
 }
 
 /**