[Insight-developers] Memory exception

Tom Vercauteren tom.vercauteren at m4x.org
Tue Nov 25 07:32:42 EST 2008


Hi Ivan,

You might also want to try catching other types of exceptions. I
remember that ITK writers can also throw a std::bad_alloc exception. I
guess that other types are also possible...

Try this:
try{
  writer->Update();
}
catch( itk::ExceptionObject & excp ) {
  std::cerr << "itk::ExceptionObject: " << excp << std::endl;
}
catch ( std::bad_alloc & excp ){
  std::cerr << "std::bad_alloc: " << excp.what() << std::endl;
}
catch ( std::exception & excp ){
  std::cerr << "std::exception: " << excp.what() << std::endl;
}

Tom

On Tue, Nov 25, 2008 at 12:52 PM, ivan gm <ivan.gm.itk at gmail.com> wrote:
> Hello:
>
> Even with this clause I can't caught the exception. It's very extrange
> because if I use the AnalyzeImageIO it works perfectly and with the
> GDCMImageIO it fails. In order to give you more information I attach the
> stack trace given by dotnet:
>
>      kernel32.dll!7c812aeb()
>      [Los marcos siguientes pueden no ser correctos o faltar, no se han
> cargado símbolos para kernel32.dll]
>      kernel32.dll!7c812aeb()
>>    mfc80d.dll!CThreadLocal<AFX_MODULE_THREAD_STATE>::CreateObject()  Línea
>> 198 + 0x47 bytes    C++
>      msvcr80d.dll!_CxxThrowException(void * pExceptionObject=0x0ffbd598,
> const _s__ThrowInfo * pThrowInfo=0x783c0b6c)  Línea 166    C++
>      mfc80d.dll!AfxThrowMemoryException()  Línea 222    C++
>      mfc80d.dll!AfxNewHandler(unsigned int __formal=180355072)  Línea 304
> C++
>      mfc80d.dll!operator new(unsigned int nSize=180355072)  Línea 360 + 0xd
> bytes    C++
>      mfc80d.dll!operator new[](unsigned int nSize=180355072)  Línea 382 +
> 0x9 bytes    C++
>      myAplication.exe!itk::GDCMImageIO::Write(const void *
> buffer=0x1fb40040)  Línea 1069 + 0xc bytes    C++
>      myAplication.exe!itk::ImageFileWriter<itk::OrientedImage<short,3>
>>::GenerateData()  Línea 279 + 0x33 bytes    C++
>      myAplication.exe!itk::ImageFileWriter<itk::OrientedImage<short,3>
>>::Write()  Línea 232 + 0x12 bytes    C++
>      myAplication.exe!itk::ImageFileWriter<itk::OrientedImage<short,3>
>>::Update()  Línea 148 + 0x12 bytes    C++
>      myAplication.exe!CmyAplicationDlg::FilterThread()  Línea 608 + 0x32
> bytes    C++
>
> Thanks for your help.
>
>
>
> On Mon, Nov 24, 2008 at 1:25 PM, Dan Mueller <dan.muel at gmail.com> wrote:
>>
>> Hi Ivan,
>>
>> Perhaps try the following:
>>
>>   try
>>     {
>>     writer->Update();
>>     }
>>   catch( itk::ExceptionObject & excp )
>>    {
>>    std::cerr << excp << std::endl;
>>    }
>>
>> This should provide some more details regarding this issue. Let us
>> know what you find.
>>
>> HTH
>>
>> Regards, Dan
>>
>> 2008/11/24 ivan gm <ivan.gm.itk at gmail.com>:
>> > Hello:
>> >
>> > Im trying to save an image in a file with the code bellow:
>> >                         writer = WriterType::New();
>> >                         writer->SetFileName(originalName.c_str());
>> >                         writer->SetImageIO( itk:DicomImageIO::New() );
>> >     // itk::AnalyzeImageIO::New());
>> >                         writer->SetInput( this->tempImage1 );
>> >                         writer->Update();
>> > When i use a itk::AnalyzeImageIO it works fine but when I change it to
>> > DicomImageIO (because i want to save the file in dcm format instead of
>> > hdr)
>> > the program crash with the following Excetion message:
>> >
>> > Excepción no controlada en 0x7c812aeb en myprogram.exe: Excepción de
>> > Microsoft C++: CMemoryException en la ubicación de memoria 0x0ffbd514.
>> >
>> > I think the problem is that my computer don't have enough RAM memory...
>> > can
>> > anybody tell me if I can't solve the problem without increasing the RAM?
>> >
>> > On the other hand, I tried to handle this CMemoryException with the
>> > following code:
>> >                     try {
>> >                           //code
>> >                     } catch (CMemoryException e) {
>> >                          printf("whatever");
>> >                     }
>> > But it doesn't catch anything. Any help?
>> >
>> >
>> > Thanks a lot.
>> >
>> > Iván García Martínez.
>> >
>> > _______________________________________________
>> > Insight-developers mailing list
>> > Insight-developers at itk.org
>> > http://www.itk.org/mailman/listinfo/insight-developers
>
>
> _______________________________________________
> Insight-developers mailing list
> Insight-developers at itk.org
> http://www.itk.org/mailman/listinfo/insight-developers
>
>


More information about the Insight-developers mailing list