_ExecFilter( const std::string& filter_name )
{
this->_Block( );
- std::string err = this->m_Workspace.Execute( filter_name );
- this->_UnBlock( );
- if( err != "" )
+ try
+ {
+ this->m_Workspace.Execute( filter_name );
+ this->_UnBlock( );
+ }
+ catch( itk::ExceptionObject& err1 )
+ {
QMessageBox::critical(
this,
QMessageBox::tr( "Error executing filter" ),
- QMessageBox::tr( err.c_str( ) )
+ QMessageBox::tr( err1.GetDescription( ) )
);
+ this->_UnBlock( );
+ }
+ catch( std::exception& err2 )
+ {
+ QMessageBox::critical(
+ this,
+ QMessageBox::tr( "Error executing filter" ),
+ QMessageBox::tr( err2.what( ) )
+ );
+ this->_UnBlock( );
+ }
+ catch( ... )
+ {
+ QMessageBox::critical(
+ this,
+ QMessageBox::tr( "Error executing filter" ),
+ QMessageBox::tr( "Unknown error" )
+ );
+ this->_UnBlock( );
+
+ } // yrt
}
// eof - $RCSfile$