Dúvida (C# -> Java)

3 respostas
G

Olá pessoal,

Existe algum tratamento de exceção em java que eu possa usar no lugar do código C# abaixo ?

catch( ArgumentOutOfRangeException )

O que significam os argumentos ref e out utilizados no código C# abaixo?
Como substituo para java ?

ERROR_CODE nRet = ExtractField(ref szMessage, DELIMITER_1, out m_szTo, DELIMITER_2);

Obrigado.

3 Respostas

J

Mas o que esse codigo faz exatamente? E quanto essa exceção é lançada?

G

O código completo:

try
        {
            if( !szStart.Equals( szMsg.Substring( 0, szStart.length ) ) )
                return ERROR_CODE.ERR_COMM_OUT_OF_FORMAT;   // Não encontrou o delimitador de início

            szMsg = szMsg.Remove( 0, szStart.Length );
            int i = szMsg.IndexOf( szEnd );                 // Localiza o delimitador de fim de campo
            if( i < 0 )
            {
                return ERROR_CODE.ERR_COMM_OUT_OF_FORMAT;
            }

            szText = szMsg.Substring( 0, i );               // Extrai os dados
            szMsg = szMsg.Remove( 0, i );
        }
        catch( IndexOutOfBoundsException e )
        {
            // Foi tentado executar algum Substring na string de entrada que ultrapassou seu tamanho e gerou a exception
            return ERROR_CODE.ERR_API_BAD_PARAM_1;
        }
    
        return ERROR_CODE._SUCCESS;
G
"growth":
"jairelton":
Mas o que esse codigo faz exatamente? E quanto essa exceção é lançada?

O código completo:

try
        {
            if( !szStart.Equals( szMsg.Substring( 0, szStart.length ) ) )
                return ERROR_CODE.ERR_COMM_OUT_OF_FORMAT;   // Não encontrou o delimitador de início

            szMsg = szMsg.Remove( 0, szStart.Length );
            int i = szMsg.IndexOf( szEnd );                 // Localiza o delimitador de fim de campo
            if( i < 0 )
            {
                return ERROR_CODE.ERR_COMM_OUT_OF_FORMAT;
            }

            szText = szMsg.Substring( 0, i );               // Extrai os dados
            szMsg = szMsg.Remove( 0, i );
        }
        catch( IndexOutOfBoundsException e )
        {
            // Foi tentado executar algum Substring na string de entrada que ultrapassou seu tamanho e gerou a exception
            return ERROR_CODE.ERR_API_BAD_PARAM_1;
        }
    
        return ERROR_CODE._SUCCESS;

Como você pode ver , substituí por

catch( IndexOutOfBoundsException e )

Está correto ?

Criado 3 de outubro de 2006
Ultima resposta 3 de out. de 2006
Respostas 3
Participantes 2