432
Comment:
|
1091
|
Deletions are marked like this. | Additions are marked like this. |
Line 16: | Line 16: |
{{{ void foo() { EMData* e1 = new EMData(); EMData* e2 = new EMData(); try { e1->read_image("test1.mrc"); e2->read_image("test2.mrc"); vector<float> v = e1->calc_fourier_shell_correlation(e2); } catch (_NullPointerException & null_excp) { printf("%s\n", null_excp.what()); // do something } catch (E2Exception & exception) { printf("%s\n", exception.what()); } } }}} * Note: NOTE: A XYZ exception is thrown as XYZException, but caught as _XYZException. Be aware of the "_". * For the possible Exception types. please refer the EMAN2 code in "exception.h". |
- Here is an example on throwing an exception:
vector< float > EMData::calc_fourier_shell_correlation(EMData * with) { if (!with) { throw NullPointerException("NULL input image"); } if (!EMUtil::is_same_size(this, with)) { LOGERR("images not same size"); throw ImageFormatException( "images not same size"); } //... }
- Here is an example on catching the exceptions:
void foo() { EMData* e1 = new EMData(); EMData* e2 = new EMData(); try { e1->read_image("test1.mrc"); e2->read_image("test2.mrc"); vector<float> v = e1->calc_fourier_shell_correlation(e2); } catch (_NullPointerException & null_excp) { printf("%s\n", null_excp.what()); // do something } catch (E2Exception & exception) { printf("%s\n", exception.what()); } }
- Note: NOTE: A XYZ exception is thrown as XYZException, but caught as _XYZException. Be aware of the "_".
- For the possible Exception types. please refer the EMAN2 code in "exception.h".