Especificación de máquina virtual Java (se8) - formato de archivo de clase (siete)

4.7.5 Excepciones de propiedad 

  El atributo Excepciones es un atributo de longitud variable, que se encuentra en la tabla de atributos de la estructura method_info (§4.6).
  El atributo Excepciones indica las posibles excepciones que un método necesita verificar. Puede haber como máximo un atributo de Excepciones en una estructura method_info.
  El formato del atributo Excepciones es el siguiente:

Código de copia
Exceptions_attribute { 
    u2 attribute_name_index; 
    u4 longitud_atributo; 
    u2 número_de_excepciones; 
    u2table_index_table [número_de_excepciones]; 
}
Código de copia

 

La descripción de los elementos en formato Exceptions_attribute es la siguiente:
   attribute_name_index
    El valor del elemento attribute_name_index debe ser un índice válido para el grupo constante. El miembro del grupo constante en este índice debe ser una estructura CONSTANT_Utf8_info (§4.4.7), que representa la cadena "Excepciones".     El valor del elemento
  attribute_length
attribute_length proporciona la longitud del atributo actual, excluyendo los primeros 6 bytes.
  número_de_excepciones
    El valor del elemento número_de_excepciones da el número de miembros en la matriz exception_index_table [].
  exception_index_table []
    El valor de cada miembro de la matriz exception_index_table [] debe ser un índice válido del grupo constante. Todos los miembros del grupo constante en estos índices deben ser la estructura CONSTANT_Class_info (§4.4.1), lo que indica que este método declara el tipo de clase que se lanzará.
  Si un método quiere lanzar una excepción, debe cumplir al menos una de las siguientes tres condiciones: lo que se
    debe lanzar es una instancia de RuntimeException o su subclase.
    La instancia que se lanzará es Error o sus subclases.
    Lo que se debe lanzar es una instancia de la clase o subclase de excepción declarada en la matriz exception_index_table [].
  Estos requisitos no se aplican en la máquina virtual Java, solo se aplican en tiempo de compilación.

Supongo que te gusta

Origin www.cnblogs.com/lfw421935678/p/12681473.html
Recomendado
Clasificación