You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by jk...@apache.org on 2017/09/06 03:02:59 UTC

thrift git commit: Add default message for TApplicationException since some implementations may not set message field Client: go

Repository: thrift
Updated Branches:
  refs/heads/master fcb2f5a8f -> 1b20b18ec


Add default message for TApplicationException since some implementations may not set message field
Client: go

This closes #1335


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/1b20b18e
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/1b20b18e
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/1b20b18e

Branch: refs/heads/master
Commit: 1b20b18ec0a4d8eeb7f40566df5ef45a50d697c8
Parents: fcb2f5a
Author: damnever <dx...@gmail.com>
Authored: Tue Sep 5 13:14:06 2017 +0800
Committer: James E. King, III <jk...@apache.org>
Committed: Tue Sep 5 20:00:38 2017 -0700

----------------------------------------------------------------------
 lib/go/thrift/application_exception.go      | 16 +++++++++++++++-
 lib/go/thrift/application_exception_test.go |  2 +-
 2 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/1b20b18e/lib/go/thrift/application_exception.go
----------------------------------------------------------------------
diff --git a/lib/go/thrift/application_exception.go b/lib/go/thrift/application_exception.go
index 6655cc5..525bce2 100644
--- a/lib/go/thrift/application_exception.go
+++ b/lib/go/thrift/application_exception.go
@@ -30,6 +30,17 @@ const (
 	PROTOCOL_ERROR                 = 7
 )
 
+var defaultApplicationExceptionMessage = map[int32]string{
+	UNKNOWN_APPLICATION_EXCEPTION:  "unknown application exception",
+	UNKNOWN_METHOD:                 "unknown method",
+	INVALID_MESSAGE_TYPE_EXCEPTION: "invalid message type",
+	WRONG_METHOD_NAME:              "wrong method name",
+	BAD_SEQUENCE_ID:                "bad sequence ID",
+	MISSING_RESULT:                 "missing result",
+	INTERNAL_ERROR:                 "unknown internal error",
+	PROTOCOL_ERROR:                 "unknown protocol error",
+}
+
 // Application level Thrift exception
 type TApplicationException interface {
 	TException
@@ -44,7 +55,10 @@ type tApplicationException struct {
 }
 
 func (e tApplicationException) Error() string {
-	return e.message
+	if e.message != "" {
+		return e.message
+	}
+	return defaultApplicationExceptionMessage[e.type_]
 }
 
 func NewTApplicationException(type_ int32, message string) TApplicationException {

http://git-wip-us.apache.org/repos/asf/thrift/blob/1b20b18e/lib/go/thrift/application_exception_test.go
----------------------------------------------------------------------
diff --git a/lib/go/thrift/application_exception_test.go b/lib/go/thrift/application_exception_test.go
index 7010f86..b2687a6 100644
--- a/lib/go/thrift/application_exception_test.go
+++ b/lib/go/thrift/application_exception_test.go
@@ -25,7 +25,7 @@ import (
 
 func TestTApplicationException(t *testing.T) {
 	exc := NewTApplicationException(UNKNOWN_APPLICATION_EXCEPTION, "")
-	if exc.Error() != "" {
+	if exc.Error() != defaultApplicationExceptionMessage[UNKNOWN_APPLICATION_EXCEPTION] {
 		t.Fatalf("Expected empty string for exception but found '%s'", exc.Error())
 	}
 	if exc.TypeId() != UNKNOWN_APPLICATION_EXCEPTION {