Giter Club home page Giter Club logo

Comments (5)

kenguest avatar kenguest commented on May 25, 2024

Just wrapping your "client" code with the usual try/catch/finally statements should work.

For example:

$osm = new Services_OpenStreetMap();

try {
    var_dump($osm->getCoordsOfPlace("Nena, Irelande"));
} catch(Exception $ex) {
    var_dump ($ex->getMessage());
} finally {
    echo "yay!\n";
}

from services_openstreetmap.

sascha-hendel avatar sascha-hendel commented on May 25, 2024

Ok, this method works, but it is pretty hardcore...
It would be better, if for example $changeset->commit() would return a statuscode/message with predefined status levels.

from services_openstreetmap.

kenguest avatar kenguest commented on May 25, 2024

Hi @sascha-hendel

I don't know how catching exceptions in PHP could be called hardcode, but I think you're correct that there are some places in Services_Openstreetmap where returning a simple value or array of values would be better than throwing a new exception.

Strictly speaking, exceptions should be for "exceptional scenarios" - something not easily predictable happening, for example.
So in the example above, getCoordsOfPlace quite possibly should be returning false when it can't get the lat/lon for a named place that doesn't exist. BUT if there are connectivity issues, exceptions should be thrown.

Are there any specific cases where you think it would be easier for you that exceptions weren't being thrown? I don't want to start making changes that would break compatibility but I will consider this in future.

from services_openstreetmap.

sascha-hendel avatar sascha-hendel commented on May 25, 2024

Hi Ken,
you are are right, that for connectivity issues, etc it is best to throw an exception.
But I miss feedback for cases, where OSM throws an error. For example a $changeset->commit() should return an info, if the process was succesful or not.

from services_openstreetmap.

kenguest avatar kenguest commented on May 25, 2024

Hi @sascha-hendel, the changeset commit method now finally returns true if changes have been successfully applied.

(The API itself specifies that nothing is returned upon successful closing of a changeset, so this is just a check for a Response Code of 200)

Is there anything else about this that you might like to see improved?

from services_openstreetmap.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.