Spanish [SOLUCIONADO] Error al compilar

cas6678

Active Member
Licensed User
Longtime User
Me sale el siguiente error:

shell\src\b4a\example\main_subs_0.java:4239: error: code too large for try statement
catch (Exception e) {
^
1 error

Surge en una parte del codigo que esta dentro de un timer. Lo mas curioso es que EL MISMO codigo antes me compliaba bien, y ahora hice una modificacion que nada tiene que ver con esta parte del codigo, y al compilar me pasa esto.

Ideas???
 

dar2o3

Active Member
Licensed User
Longtime User
El cambio que has echo se encuentra dentro de un bucle o trabajando con alguna colección?
 

cas6678

Active Member
Licensed User
Longtime User
No que va, el cambio ha sido cambiar la imagen de un boton por otra. No alcanzo a entender.

Es un select de una variable de aprox 100 opciones donde cada uno hace una cosa. Esto esta dentro de un timer.

En encontrado una solucion momentanea que ha sido crear un segundo timer. En el primero hago la mitad del select y el segundo hago la otra mitad. Asi compila bien pero sigo sin entender ;)
 

dar2o3

Active Member
Licensed User
Longtime User
Me a picado la curiosidad y e empezado a mirar en google, me e encontrado con esto, a ver si te ayuda.

El límite de tamaño en Java para un método es 65535 caracteres. Es necesario que refactorizar código. El problema :
La longitud del campo y método de nombres, descriptores de campo y de métodos, y otros valores de cadena constante se limita a 65535 caracteres por el elemento de longitud sin signo de 16 bits de la estructura CONSTANT_Utf8_info (§4.4.7). Tenga en cuenta que el límite está en el número de bytes en la codificación y no en el número de caracteres codificados. UTF-8 codifica algunos caracteres usando dos o tres bytes. Por lo tanto, las cadenas de caracteres de varios bytes que incorporan son aún más limitada.

La posible solución:
Ayude a su contenedor de modularizar el código. Trate de dividir la JSP en varios trozos y crea dinámico incluye en lugar de los estáticos. Dinámica incluye (jsp: include contra% @ include) compilará la JSP y luego transmitir la salida en lugar de tratar de incluir todo el código en un método grande o tratar bloque catch.

Está traducido del ingles por google, pero se deja entender no?

La página de donde lo e sacado:

http://stackoverflow.com/questions/6904117/code-too-large-for-try-block
 

cas6678

Active Member
Licensed User
Longtime User
No se si ha sido eso pero podria cuadrar ya que al dividir parte del codigo se soluciono. Por otro lado me da la sensacion que tampoco eras tan largo....

De todas formas te agradezco la informacion porque es algo a tener en cuenta en el futuro.
 
Top