Skip to content

Commit b53e196

Browse files
authored
Use throw instead of throw ex to preserve call stack (#8410)
1 parent becd47d commit b53e196

5 files changed

Lines changed: 17 additions & 9 deletions

File tree

src/NuGetGallery/Controllers/ApiController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,7 @@ await AuditingService.SaveAuditRecordAsync(
528528
{
529529
ex.Log();
530530
TelemetryService.TrackSymbolPackagePushFailureEvent(id, normalizedVersion);
531-
throw ex;
531+
throw;
532532
}
533533
}
534534

src/NuGetGallery/Controllers/PackagesController.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2426,8 +2426,9 @@ public virtual async Task<JsonResult> VerifyPackage(VerifyPackageRequest formDat
24262426
}
24272427
catch (Exception ex)
24282428
{
2429+
ex.Log();
24292430
_telemetryService.TrackPackagePushFailureEvent(id: null, version: null);
2430-
throw ex;
2431+
throw;
24312432
}
24322433
}
24332434

src/NuGetGallery/Services/PackageUploadService.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -264,17 +264,24 @@ await _coreReadmeFileService.DeleteReadmeFileAsync(
264264
package.NormalizedVersion);
265265
}
266266

267-
return ReturnConflictOrThrow(ex);
267+
if (IsConflict(ex))
268+
{
269+
return PackageCommitResult.Conflict;
270+
}
271+
else
272+
{
273+
throw;
274+
}
268275
}
269276

270277
return PackageCommitResult.Success;
271278
}
272279

273-
private PackageCommitResult ReturnConflictOrThrow(Exception ex)
280+
private bool IsConflict(Exception ex)
274281
{
275282
if (ex is DbUpdateConcurrencyException concurrencyEx)
276283
{
277-
return PackageCommitResult.Conflict;
284+
return true;
278285
}
279286
else if (ex is DbUpdateException dbUpdateEx)
280287
{
@@ -287,13 +294,13 @@ private PackageCommitResult ReturnConflictOrThrow(Exception ex)
287294
case 547: // Constraint check violation
288295
case 2601: // Duplicated key row error
289296
case 2627: // Unique constraint error
290-
return PackageCommitResult.Conflict;
297+
return true;
291298
}
292299
}
293300
}
294301
}
295302

296-
throw ex;
303+
return false;
297304
}
298305
}
299306
}

src/NuGetGallery/Services/SymbolPackageUploadService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ await _symbolPackageFileService.DeletePackageFileAsync(
241241
package.Version);
242242
}
243243

244-
throw ex;
244+
throw;
245245
}
246246
}
247247
catch (FileAlreadyExistsException ex)

tests/NuGetGallery.Facts/Infrastructure/Lucene/SearchPolicyFacts.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ public async Task<HttpResponseMessage> GetAsync(Uri uri)
479479
catch (Exception ex)
480480
{
481481
_logger.LogError(0, ex, "[{Type}] EXCEPTION", nameof(TestSearchHttpClient));
482-
throw ex;
482+
throw;
483483
}
484484
}
485485
}

0 commit comments

Comments
 (0)