@@ -23,13 +23,15 @@ import software.aws.toolkits.jetbrains.common.session.Intent
2323import software.aws.toolkits.jetbrains.services.amazonqDoc.docServiceError
2424import software.aws.toolkits.jetbrains.services.amazonqDoc.session.DocGenerationStreamResult
2525import software.aws.toolkits.jetbrains.services.amazonqDoc.session.ExportDocTaskAssistResultArchiveStreamResult
26+ import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.ApiException
2627import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.CodeIterationLimitException
2728import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.ContentLengthException
2829import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.ExportParseException
2930import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.FEATURE_NAME
3031import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.FeatureDevException
3132import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.FeatureDevOperation
3233import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.MonthlyConversationLimitError
34+ import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.ServiceException
3335import software.aws.toolkits.jetbrains.services.amazonqFeatureDev.ZipFileCorruptedException
3436import software.aws.toolkits.jetbrains.services.cwc.controller.chat.telemetry.getStartUrl
3537import software.aws.toolkits.resources.message
@@ -70,8 +72,14 @@ class AmazonQCodeGenService(val proxyClient: AmazonQCodeGenerateClient, val proj
7072 if (e is ServiceQuotaExceededException ) {
7173 throw MonthlyConversationLimitError (errMssg, operation = FeatureDevOperation .CreateConversation .toString(), desc = null , cause = e.cause)
7274 }
75+ throw ApiException .of(e.statusCode(), errMssg, operation = FeatureDevOperation .CreateConversation .toString(), desc = null , e.cause)
7376 }
74- throw FeatureDevException (errMssg, operation = FeatureDevOperation .CreateConversation .toString(), desc = null , e.cause)
77+ throw ServiceException (
78+ errMssg ? : " CreateTaskAssistConversation failed" ,
79+ operation = FeatureDevOperation .CreateConversation .toString(),
80+ desc = null ,
81+ e.cause
82+ )
7583 } finally {
7684 AmazonqTelemetry .startConversationInvoke(
7785 amazonqConversationId = conversationId,
@@ -111,8 +119,10 @@ class AmazonQCodeGenService(val proxyClient: AmazonQCodeGenerateClient, val proj
111119 }
112120 throw ContentLengthException (operation = FeatureDevOperation .CreateUploadUrl .toString(), desc = null , cause = e.cause)
113121 }
122+
123+ throw ApiException .of(e.statusCode(), errMssg, operation = FeatureDevOperation .CreateUploadUrl .toString(), desc = null , e.cause)
114124 }
115- throw FeatureDevException (errMssg, operation = FeatureDevOperation .CreateUploadUrl .toString(), desc = null , e.cause)
125+ throw ServiceException (errMssg ? : " CreateUploadUrl failed " , operation = FeatureDevOperation .CreateUploadUrl .toString(), desc = null , e.cause)
116126 }
117127 }
118128
@@ -156,8 +166,14 @@ class AmazonQCodeGenService(val proxyClient: AmazonQCodeGenerateClient, val proj
156166 } else if (e is ValidationException && e.message?.contains(" zipped file is corrupted" ) == true ) {
157167 throw ZipFileCorruptedException (operation = FeatureDevOperation .StartTaskAssistCodeGeneration .toString(), desc = null , e.cause)
158168 }
169+ throw ApiException .of(e.statusCode(), errMssg, operation = FeatureDevOperation .StartTaskAssistCodeGeneration .toString(), desc = null , e.cause)
159170 }
160- throw FeatureDevException (errMssg, operation = FeatureDevOperation .StartTaskAssistCodeGeneration .toString(), desc = null , e.cause)
171+ throw ServiceException (
172+ errMssg ? : " StartTaskAssistCodeGeneration failed" ,
173+ operation = FeatureDevOperation .StartTaskAssistCodeGeneration .toString(),
174+ desc = null ,
175+ e.cause
176+ )
161177 }
162178 }
163179
@@ -180,8 +196,14 @@ class AmazonQCodeGenService(val proxyClient: AmazonQCodeGenerateClient, val proj
180196 if (e is CodeWhispererRuntimeException ) {
181197 errMssg = e.awsErrorDetails().errorMessage()
182198 logger.warn(e) { " GetTaskAssistCodeGeneration failed for request: ${e.requestId()} " }
199+ throw ApiException .of(e.statusCode(), errMssg, operation = FeatureDevOperation .GetTaskAssistCodeGeneration .toString(), desc = null , e.cause)
183200 }
184- throw FeatureDevException (errMssg, operation = FeatureDevOperation .GetTaskAssistCodeGeneration .toString(), desc = null , e.cause)
201+ throw ServiceException (
202+ errMssg ? : " GetTaskAssistCodeGeneration failed" ,
203+ operation = FeatureDevOperation .GetTaskAssistCodeGeneration .toString(),
204+ desc = null ,
205+ e.cause
206+ )
185207 }
186208 }
187209
@@ -198,7 +220,12 @@ class AmazonQCodeGenService(val proxyClient: AmazonQCodeGenerateClient, val proj
198220 errMssg = e.awsErrorDetails().errorMessage()
199221 logger.warn(e) { " ExportTaskAssistArchiveResult failed for request: ${e.requestId()} " }
200222 }
201- throw FeatureDevException (errMssg, operation = FeatureDevOperation .ExportTaskAssistArchiveResult .toString(), desc = null , e.cause)
223+ throw ServiceException (
224+ errMssg ? : " ExportTaskAssistArchive failed" ,
225+ operation = FeatureDevOperation .ExportTaskAssistArchiveResult .toString(),
226+ desc = null ,
227+ e.cause
228+ )
202229 }
203230
204231 val parsedResult: ExportDocTaskAssistResultArchiveStreamResult
0 commit comments