Error Trapping with SIGNALQQ (or other?)

Error Trapping with SIGNALQQ (or other?)

We are trying to use some signal handling to trap exceptions in our fortran program on Windows using SIGNALQQ.   It works for some errors but not for others, for example

forrtl: severe (408): fort: (10): Subscript #1 of the array TEMP_X has value 45 which is greater than the upper bound of 2

will not be caught by the error handler, but something like an access violation will be.  We  are using based off of an intel example we found

 i4ret = SIGNALQQ(SIG$ABORT, h_abort) 

 i4ret = SIGNALQQ(SIG$FPE, h_abort)       

 i4ret = SIGNALQQ(SIG$ILL, h_abort)      

 i4ret = SIGNALQQ(SIG$INT, h_abort)       

 i4ret = SIGNALQQ(SIG$SEGV, h_abort)       

 i4ret = SIGNALQQ(SIG$TERM, h_abort)   

Are we missing any here or is there a different way to trap 'other' error types before the program crashes?

2 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

Not at this time, but in the next major release we'll have a new way of establishing a handler for all types of Fortran run-time errors.


Faça login para deixar um comentário.