12.07.2015 Views

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPÍTULO 2. SMART CARDS 2801 import javacard.framework.ISOException;02 public class AcessoNegadoException extends ISOException{03 public static final short SW_ACESSO_NEGADO = (short) 0x6322 ;04 public AcessoNegadoException(short arg0) {05 super(arg0);06 }07 }Figura 2.7: Classe de Tratamento de Exceção.cada vez. Os programas <strong>Java</strong> <strong>Card</strong> previamente instalados no cartão podem ser chamadospara serem executados através de comandos específicos, citados na seção 2.1.1.Exceções em <strong>Java</strong> <strong>Card</strong>:Devido às limitações de memória em <strong>Java</strong> <strong>Card</strong>, as classesque tratam exceções na API <strong>Java</strong> <strong>Card</strong> possuem um método estático chamado throwIt.Este método possibilita lançar uma exceção sem instanciar um objeto, por meio de umainstância da classe. Pode-se fazer NomeDaClasseExcecao.throwIt(MENSAGEM) ao invésde usar as palavras reservadas throw new Exception() para lançar uma nova exceção.Evitar instanciar objetos que tratam exceções em <strong>Java</strong> <strong>Card</strong> otimiza o uso de memória.Throwable é a classe pai para todas as classes de exceção em <strong>Java</strong> <strong>Card</strong>. A classeException herda diretamente de Throwable. Em <strong>Java</strong> <strong>Card</strong>, todas as exceções de runtimedescendem de <strong>Card</strong>RuntimeException, que é subclasse de RuntimeException que ésubclasse de Exception. Outro tipo de exceção é a <strong>Card</strong>Exception, na qual define errosespecíficos de aplicação que devem ser tratados ou especificados em um método.A classe mais frequentemente utilizada para tratar exceções <strong>Java</strong> <strong>Card</strong> é a classeISOException, do pacote javacard.framework.*. Uma ISOException é uma exceção emtempo de execução usada para relatar que um erro ocorreu no processamento de um comandoAPDU. Existe uma outra classe do pacote javacard.framework.* usada para especificarerros de programação que podem ocorrer em um applet <strong>Java</strong> <strong>Card</strong>, esta classe échamada de UserException.Na Figura 2.7 é apresentada uma classe de exceção. A classe tem uma constanteque é lançada ao usuário. É importante perceber que a classe herda as características deISOException, podendo fazer uso do método estático throwIt.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!