[Bioc-devel] Error during wrapup, what does this mean?

Dipl.-Ing. Johannes Rainer johannes.rainer at tugraz.at
Mon May 23 10:45:22 CEST 2005


thanks for all your help!
i am now using the tryCatch for all my error (and interrupt) catching :)

thanks!

Quoting Robert Gentleman <rgentlem at fhcrc.org>:

> Dipl.-Ing. Johannes Rainer wrote:
>> i agree with this. but what if the user types <ctrl>+c during the 
>> call? i assume that try and tryCatch will not work in this cases, as 
>> i want also roll back a transaction when the user breaks the 
>> operation by himself.
>> currently i have solved the problem in the following way:
>> with options(error=expression(.rollItBack()))
>
> Hi,
>  First - why assume, why not just test? Second - pass a connection in 
> and use on.exit? Third, from the man page for tryCatch:
>    User interrupts signal a condition of class 'interrupt' that
>      inherits directly from class 'condition' before executing the
>      default interrupt action.
>
>  Which seems to answer your question.
>
>>
>> and during the function call i copy the connection parameter to a 
>> global variable called 'ErrorConnection' which is used by the 
>> rollItBack function. on the 'on.exit' i reset the 
>> options(error=NULL) and remove the 'ErrorConnection' from the global 
>> environment...
>
>  And as I said - any and every error rolls back a transaction - not 
> really what you would like to have happen. Using global variables is, 
> in my experience, never a good idea. Explicity parameter passing, and 
> encapsulation via lexical scope are much easier to work with.
>
>  And what if I, as many other do, use options(error=recover) for 
> debugging purposes. Your code seems to have a rather unfelicitous 
> effect.
>
>  Robert
>
>>
>> jo
>>
>> Quoting Robert Gentleman <rgentlem at fhcrc.org>:
>>
>>> James W. MacDonald wrote:
>>>
>>>> Dipl.-Ing. Johannes Rainer wrote:
>>>>
>>>>> hi, it's again me, but i found the problem...
>>>>> as i am working with database connections and if an error occurs 
>>>>> in a function call i want to roll back the whole stuff that has 
>>>>> been written into a database, i thought to be smart and defined 
>>>>> with
>>>>>
>>>>>> options(error=expression(.rollItBack(Con)))
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> where .rollItBack is a function that sends the command ROLLBACK 
>>>>> TRANSACTION to the database. well, i did not think, that when the 
>>>>> error occurs the object Con, which is a local variable in the 
>>>>> function does not exist, unless the user has called the 
>>>>> connection object also 'Con'.
>>>>>
>>>>> now i want to ask how i can define a global variable from within 
>>>>> a function.
>>>>
>>>>
>>>>
>>>> See ?"<<-" and ?assign
>>>>
>>>> HTH,
>>>>
>>>> Jim
>>>>
>>>
>>> Hi,
>>>
>>>   But it is generally not a good idea to do it that way. If users 
>>> have connections that you are using then they should be parameters 
>>> to the functions that you are using and using try, or tryCatch, 
>>> will generally be much better. I would also like to point out that 
>>> if I understand this, then any error the user makes will roll-back 
>>> a transaction - typing the wrong name for a function etc. That is 
>>> probably not a good design decision.
>>>
>>>   Robert
>>>
>>>
>>>
>>>>
>>>>>
>>>>> cheers, jo
>>>>>
>>>>> Quoting "Dipl.-Ing. Johannes Rainer" <johannes.rainer at tugraz.at>:
>>>>>
>>>>>> hi,
>>>>>> i am getting the error message:
>>>>>>
>>>>>>> Error during wrapup: Object "Con" not found
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> in my functions and have no idea from where this message comes 
>>>>>> (i have renamed some function arguments from 'Con' to 'con', 
>>>>>> maybe the message comes from there :) ). nevertheless i do not 
>>>>>> know where i should search for this error (as the functions work 
>>>>>> like they should...). can anybody tell me more to this error 
>>>>>> message?
>>>>>>
>>>>>> cheers, jo
>>>>>>
>>>>>> _______________________________________________
>>>>>> Bioc-devel at stat.math.ethz.ch mailing list
>>>>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Bioc-devel at stat.math.ethz.ch mailing list
>>>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>



More information about the Bioc-devel mailing list