🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

String index out of range: -2

User: "robin"
New Altair Community Member
Updated by Jocelyn

Is it poor form to request that when performing a cut, that we have the ability to select if the process should fail or if it should ignore an error when the data string is not long enough for the cut being requested?

Find more posts tagged with

Sort by:
1 - 2 of 21
    User: "robin"
    New Altair Community Member
    OP
    Accepted Answer

    The 'Cut' operator. If I have a string that I want cut out some information I put in the start and end position. The problem comes in if I set an end position and the string is shorter than the total length I set then the I get an 'index out of range' error. 

     

    Instead of firing the error I should be able to say do not fault if the string is shorter than the stipulated range. 

    User: "MartinLiebig"
    Altair Employee
    Accepted Answer

    Hi @robin,

    i've tried to reproduce it with the attached process and it does not fail? Can you share an example of a failing operator?

     

    BR,

    Martin

     

    <?xml version="1.0" encoding="UTF-8"?><process version="9.0.002">
    <context>
    <input/>
    <output/>
    <macros/>
    </context>
    <operator activated="true" class="process" compatibility="9.0.002" expanded="true" name="Process">
    <process expanded="true">
    <operator activated="true" class="retrieve" compatibility="9.0.002" expanded="true" height="68" name="Retrieve Golf" width="90" x="179" y="34">
    <parameter key="repository_entry" value="//Samples/data/Golf"/>
    </operator>
    <operator activated="true" class="cut" compatibility="9.0.002" expanded="true" height="82" name="Cut" width="90" x="313" y="34">
    <parameter key="attribute" value="Outlook"/>
    <parameter key="last_character_index" value="58"/>
    </operator>
    <connect from_op="Retrieve Golf" from_port="output" to_op="Cut" to_port="example set input"/>
    <connect from_op="Cut" from_port="example set output" to_port="result 1"/>
    <portSpacing port="source_input 1" spacing="0"/>
    <portSpacing port="sink_result 1" spacing="0"/>
    <portSpacing port="sink_result 2" spacing="0"/>
    </process>
    </operator>
    </process>