UP FRONT: From Our Readers
Your corrections, your opinions, and your requests: Here’s your forum for telling us what’s right and wrong in each issue of Oracle Magazine, and for letting us know what you want to read.
Is it possible to download specific technology articles from Oracle Magazine?
The editors reply: Subscribers to the digital edition of the magazine can download each issue in PDF format. If you would like to switch from a print to a digital subscription, please contact firstname.lastname@example.org or visit bit.ly/zs8i7R. Another option is to download the free Oracle Magazine app for iPad or iPhone.
In “Working with Dates in PL/SQL” (January/February 2012), Part 5 in the PL/SQL 101 series, you don’t have any links to the previous parts. It would be good to add them to the beginning of the article.
The editors reply: Our link to the previous parts appeared in that article’s “Next Steps” box. All of Steven Feuerstein’s past magazine content is available online, including the previous parts of his PL/SQL 101 series.
Kindness for Kindle
I’ve been reading Oracle Magazine in Portugal since 2005. Is a Kindle edition available?
The editors reply: While a native Kindle edition is not in the works, subscribers to the digital edition can download a PDF that they can view on their second-generation and later Kindle devices. It is also possible to have a PDF converted to Kindle format using your Send to Kindle e-mail address and Amazon’s file conversion service.
Speaking of Errors . . .
In “Error Management” (March/April 2012), the examples Steven Feuerstein gives for application-defined exceptions mix exception processing with business logic (and also would hard-code business parameters into the code).
My view is that exceptions should handle events that are, well, exceptional, to the detailed specification of the code. For example, exceptions could be used to report that parameters are outside the specified domain of the input. The specified functionality of the code should be handled entirely using normal conditional logic and return parameters.
Another good use for exceptions would be to communicate failures of assertion tests placed in the code, perhaps basing these assertions on predicate logic techniques defined in the 1970s and subsequently by Dijkstra, Floyd, and Hoare. Finally, it would be great to explore error handling and reporting in more detail in another article.
Steven Feuerstein replies: Miles raises a number of excellent points. I agree that business rules are best placed within their own functions, so that a developer can validate the business rule and then decide if an exception should be raised or a different branch of logic should be taken. When writing “101” articles, it is always a challenge to combine introductory concepts and syntax with best practices. See my blog (feuerthoughts.blogspot.com) for a more complete discussion of these topics—and Miles’ complete critique of my article.
The editors reply: Steven Feuerstein has written about exceptions and error handling numerous times in the many years he has written for Oracle Magazine. Refer to the index of his articles for links to his Oracle Magazine articles since 2003.
I am a big fan of Steven Feuerstein and participate in the PL/SQL Challenge (plsqlchallenge.com). I came across his Oracle Magazine article “Error Management,” and it is a very good article. There is a minor issue, however, in Code Listings 2 and 3: the declaration of l_code is missing.
The editors reply: Thank you for this correction. The declaration
l_code PLS_INTEGER := SQLCODE;
has been added to the code listings in the online article.