
    /* read exception table length */
    i =read_bytes(2);
    if (i==-1) exit(0);
    if ( ((byte[0] <<8) | byte[1]) > 0) {
      printf("1 -- exception table\n");
      i =read_bytes(8*10*((byte[0] <<8) | byte[1]));
      if (i==-1) exit(0);
    }
    /* read attributes count */
    i =read_bytes(2);
    if (i==-1) exit(0);
    if ( ((byte[0] <<8) | byte[1]) > 0) {
      for (j=0; j< ((byte[0] <<8) | byte[1]); j++) {
	i = read_bytes(2);
	if (i==-1) exit(0);
	/* Attribute Name */
	print_bytes(2);
    
	i = read_bytes(4);
	if (i==-1) exit(0);
	printf("**********Attribute Length **********\n");
	code_attribute_length = (byte[0]<<24) | (byte[1]<<16) | (byte[2] <<8)| byte[3];
	printf("%d\n",code_attribute_length);
    
    
	printf("--------------------------------------------------------------------\n");
    
	printf("&&&&&&&&&&Code Attribbutes&&&&&&&&&&\n");
    
	i =read_bytes(8);
	if (i==-1) exit(0);
	
	code_opcodes = (byte[4]<<24) | (byte[5]<<16) | (byte[6] <<8)| byte[7];
	/*(byte[6] * 256) + byte[7];*/
	printf ("Number of opcodes in this method = %d\n", code_opcodes);
	
	for(m=0; m<code_opcodes; m++) {
	  i =read_bytes(1);
	  if (i==-1) exit(0);
	  /* gets the opcode and related information ina structure */
	  gotoNif = (struct sp_opcodes *) print_opcodes(1, m);
	  if (! strcmp (gotoNif->op_name,"LineNumberTable")) {
	    i =read_bytes(4);
	    if (i==-1) exit(0);
	  }
	  if (! strcmp (gotoNif->op_name,"LocalVariableTable")) {
	    i =read_bytes(10);
	    if (i==-1) exit(0);
	  }
	} /* for m */
      }/* for j */
      for (;x < (attribute_length -8); x++) {
	i =read_bytes(1);
	if (i==-1) exit(0);
      } /* for */
    } /* if (byte >0 ) */
    /*} for */ 
  
}
