ใน C # ฉันสามารถใช้throw;
คำสั่งเพื่อสร้างข้อยกเว้นใหม่ในขณะที่รักษาการติดตามสแต็ก:
try
{
...
}
catch (Exception e)
{
if (e is FooException)
throw;
}
มีบางอย่างเช่นนี้ใน Java ( ที่ไม่สูญเสียการติดตามสแต็กเดิม )?
Throwable
ไม่ได้รับการแก้ไขโดยการขว้างพวกเขา fillInStackTrace()
การอัปเดตกองติดตามคุณต้องโทร Throwable
สิ่งอำนวยความสะดวกวิธีนี้ได้รับการเรียกในตัวสร้างของที่
throw e;
จะสูญเสีย stacktrace แต่ไม่ใช่ใน Java