On Tuesday, 6 August 2013 at 15:05:22 UTC, Mike Parker wrote:
Shows how I like to deal with throwing exceptions from C callbacks in D. Target audience is beginner-level. Uses GLFW to demonstrate.


http://www.gamedev.net/page/resources/_/technical/general-programming/d-exceptions-and-c-callbacks-r3323

Nice article. A few minor corrections:

- In your second code sample, the D translation of the C code, the line
    glfwSetWindowCloseCallback( &onWindowClose );
  should read either
    glfwSetWindowCloseCallback( win, &onWindowClose );
  or
    win.glfwSetWindowCloseCallback( &onWindowClose );
Maybe point out both are possible, but perhaps this is out of the scope of the article.

- When explaining the difference between D Throwable, Exception, and Error, you write:
    The latter is analagous to Java's RuntimeException in that
    it is not intended to be caught. It should be thrown to
    indicate an unrecoverable error in the program.
Java uses Error for unrecoverable errors too. RuntimeExceptions are recoverable and meant to be catched. It would be more accurate to say D lacks Java's checked exceptions, D exceptions are like Java's RuntimeExceptions, and D Errors are like Java Errors.

Reply via email to