35
loading...
This website collects cookies to deliver better user experience
try{
debitAccount.transferTo(creditAccount,amount);
}catch(Exception ex){
// Ok, mas o que aconteceu?
// Teremos que checar a mensagem, e torcer para que ela seja útil
// E talvez analisar a stacktrace
}
try{
debitAccount.transferTo(creditAccount,amount);
}catch(InvalidAmountException ex){
// quantia inválida, e agora?
}catch(ExceededAmountException ex){
// quantia excedida, e agora?
}catch(BalanceNotAvailableException ex){
// saldo não disponível, e agora?
}catch(DisabledCreditAccountException ex){
// conta à creditar está desativada, e agora?
}catch(DisabledDebitAccountException ex){
// conta à debitar está desativada, e agora?
}catch(BlockedCreditAccountException ex){
// conta à creditar está bloqueada, e agora?
}catch(BlockedDebitAccountException ex){
// conta à debitar está bloqueada e agora?
}catch(BusinessException ex){
// alguma outra coisa aconteceu, e agora?
}
try{
debitAccount.transferTo(creditAccount,amount);
}catch(InvalidAmountException
| ExceededAmountException
| BalanceNotAvailableException
| DisabledCreditAccountException
| DisabledDebitAccountException
| BlockedCreditAccountException
| BlockedDebitAccountException
| BusinessException ex){
// quantia inválida ou
// quantia excedida ou
// saldo não disponível ou
// conta à creditar está desativada ou
// conta à debitar está desativada ou
// conta à creditar está bloqueada ou
// conta à debitar está bloqueada ou
// alguma outra coisa aconteceu, e agora?
}
try{
debitAccount.transferTo(creditAccount,amount);
}catch(BalanceNotAvailableException ex){
// saldo não disponível, e agora?
}catch(DeactivatedAccountException ex){
// uma ou ambas estão desativadas, e agora?
}catch(BlockedAccountException ex){
// uma ou ambas estão bloqueadas, e agora?
}
Connection connection = null;
try{
connection = datasource.getConnection();
// executando uma regra incrível aqui
}catch(SQLException exception){
handleSQLException(exception);
}finally{
if( connection != null){
try{
connection.close();
}catch(SQLException ex){}
}
}
Connection connection = null;
try{
connection = datasource.getConnection();
// executando uma regra incrível aqui
}catch(SQLException exception){
handleSQLException(exception);
}
Connection connection = null;
try{
connection = datasource.getConnection();
// executando uma regra incrível aqui
}catch(SQLException exception){
handleSQLException(exception);
}finally{
if( connection != null){
try{
connection.close();
}catch(SQLException ex){
throw new IllegalStateException("algo grave aconteceu ao fechar a conexão",ex);
}
}
}
try(Connection connection = datasource.getConnection()){
// executando uma regra incrível aqui
}catch(SQLException exception){
handleSQLException(exception);
}
try{
CurrencyUnit usd = Monetary.getCurrency("USD");
Money coffee = Money.of(5, usd);
Account maxAccount = bank.getAccount(123);
Account otavioAccount = bank.getAccount(333);
maxAccount
.transferTo(otavioAccount)
.amount(coffee)
.commit();
}catch(BalanceNotAvailableException exception){
// É impossível saber o que aconteceu aqui sem realizar um debug!
}
try{
CurrencyUnit usd = Monetary.getCurrency("USD");
Money coffee = Money.of(5, usd);
Account maxAccount = bank.getAccount(123);
Account otavioAccount = bank.getAccount(333);
maxAccount
.transferTo(otavioAccount)
.amount(coffee)
.commit();
}catch(BalanceNotAvailableException exception){
// Assim perderemos a causa raiz da exceção que é:
// o Max não vai poder para o café pro Otávio dessa vez!
throw new ExceededAmountException();
}