Comments (2)
In general, the error system needs an overhaul.
Right now, all of the errors returned are opaque, and would require string matching in order to programmatically handle various errors in different ways.
But really, there are a few different classes of errors:
- Parsing errors (WKTs and WKBs). E.g. when parsing
POINT((0.5 1.0))
. - Validation errors for geometry construction, e.g. polygon has a non closed ring.
- Not Implemented style errors (for Intersection, Intersects, and Equals -- and maybe more going forward). The intention is that the usage of this would be eliminated once everything is implemented.
- Errors that get passed through from outside the library. E.g. when marshalling, the
io.Writer
could return an error.
This ticket can be for a wider error overhaul. The following Gophercon 2019 talk gives an interesting way to construct errors that can be easily interrogated, it may be worth designing something similar to that. https://www.youtube.com/watch?v=4WIhhzTTd0Y
from simplefeatures.
Closed via #308
from simplefeatures.
Related Issues (20)
- panic with Union HOT 9
- Don't use node 12 for CI
- Use latest version of GEOS for testing
- Consider removing constructor options HOT 2
- Wrap GEOS CoverageUnion
- Use multiple versions of GEOS in CI
- Add Envelope to rtree.Box helper
- Add a `String() string` method to envelope
- Update golangci-lint to use latest version
- Move benchmarks into a single package
- Unify GEOS wrappers
- Use generics internally
- Separate TWKB Unmarshallers
- Remove unneeded benchmarks
- Use alpine images for GEOS testing
- No rings error on intersection error HOT 4
- Rewrite GEOS reference implementation tests
- geom.Union failed at some cases HOT 3
- Use symmetric line/line intersection
- Coordinate type not retained for simplified empty geometries
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from simplefeatures.