Skip to content

Instantly share code, notes, and snippets.

@JacekDubikowski
Created December 2, 2022 18:25
Show Gist options
  • Select an option

  • Save JacekDubikowski/167bcaaab151f9d4ad6f033ef1543cec to your computer and use it in GitHub Desktop.

Select an option

Save JacekDubikowski/167bcaaab151f9d4ad6f033ef1543cec to your computer and use it in GitHub Desktop.
Catch block
class TransactionalInterceptedWriter {
private CodeBlock catchClause() {
return CodeBlock.builder()
.beginControlFlow("catch ($T e)", Exception.class)
.beginControlFlow("try")
.addStatement(TRANSACTION_MANAGER + ".rollback()")
.endControlFlow()
.beginControlFlow("catch ($T innerException)", Exception.class)
.addStatement("throw new $T(innerException)", RuntimeException.class)
.endControlFlow()
.addStatement("throw new $T(e)", RuntimeException.class)
.endControlFlow()
.build();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment