Ticket #490 (closed defect: fixed)
MgUnclassifiedException thrown by FdoISelect::Execute not being caught by MgMappingUtil::ExecuteFeatureQuery
| Reported by: | tonyfang | Owned by: | tonyfang |
|---|---|---|---|
| Priority: | medium | Milestone: | 2.1 |
| Component: | Mapping Service | Version: | 2.0.0 |
| Severity: | major | Keywords: | |
| Cc: | External ID: | 1051577 |
Description
In MgMappingUtil::ExecuteFeatureQuery? , the call to svcFeature->SelectFeatures? can throw an MgUnclassifiedException?. The try-catch was only catching MgFdoException?. Thus the exception would not get caught, and propagate up into the catch of MgMappingUtil::StylizeLayers?, which would result in an error log entry.
The fix is to change it to catch an MgException?. Then the MgUnclassifiedException? is caught. The next call to svcFeature->SelectFeatures? (using MgFeatureSpatialOperations::Intersects) succeeds.
I also noticed a similar call in MgMappingUtil::ExecuteRasterQuery?. We should make the same change there as well – to be consistent, and just in case an MgUnclassifiedException? occurs there too.
