<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-4349911995767920194.post3781616061191621594..comments</id><updated>2010-07-20T12:08:35.245-05:00</updated><category term='Vista'/><category term='Declares'/><category term='User Interface'/><category term='Plugins'/><category term='Windows Marketplace'/><category term='Microsoft'/><category term='Cairo'/><category term='Technology'/><category term='Xcode'/><category term='10.7'/><category term='bugs'/><category term='Structure'/><category term='Stack Trace'/><category term='Windows'/><category term='SQLite'/><category term='REAL Studio Web Edition'/><category term='Oracle'/><category term='Flicker'/><category term='Feedback'/><category term='Apple'/><category term='general'/><category term='IDE'/><category term='REAL Server'/><category term='WebPageSource'/><category term='validation'/><category term='Skype'/><category term='Programming'/><category term='REALbasic'/><category term='Web'/><category term='LLVM'/><category term='Steve Jobs'/><category term='New Releases'/><category term='REAL Studio'/><category term='Declare'/><category term='Community'/><category term='Debugger'/><category term='Conference'/><category term='Mac'/><category term='Mac OS X'/><category term='REALSQLDatabase'/><category term='Tablets'/><category term='feature requests'/><category term='Documentation'/><category term='iOS'/><category term='Events'/><category term='JSON'/><category term='Android'/><category term='Alignment'/><category term='iPod Touch'/><category term='Web 3.0'/><category term='Mac OSX'/><category term='HTML5'/><category term='64 bit'/><category term='announcements'/><category term='Windows 7'/><category term='PowerPC'/><category term='Mac App Store'/><category term='Mobile'/><category term='Renewal'/><category term='Lion'/><category term='MySQL'/><category term='Internet'/><category term='Javascript'/><category term='iCloud'/><category term='WebPopupMenu'/><category term='graphics'/><category term='REALSQLDatabsae'/><category term='Buttons'/><category term='Leicester'/><category term='Tips'/><category term='Platforms'/><category term='OSX'/><category term='8 digit code'/><category term='Developer Costs'/><category term='UK'/><category term='Canvas'/><category term='Carbon'/><category term='Apple iMac TV'/><category term='Firefox'/><category term='Cross-Platform'/><category term='iPhone'/><category term='REALbasic applications'/><category term='REAL World'/><category term='Upgrade'/><category term='Tip'/><category term='Database'/><category term='Linux'/><category term='optimization'/><category term='Porting'/><category term='Cocoa'/><category term='compiling'/><category term='Smartphones'/><category term='iPad'/><category term='Exceptions'/><category term='Intel'/><category term='Education'/><title type='text'>Comments on Real Software: Exceptional Exceptions</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.realsoftwareblog.com/feeds/3781616061191621594/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default'/><link rel='alternate' type='text/html' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html'/><author><name>alyssa</name><uri>http://www.blogger.com/profile/07827965012135990259</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4349911995767920194.post-2742241923384109849</id><published>2010-07-20T12:08:35.245-05:00</published><updated>2010-07-20T12:08:35.245-05:00</updated><title type='text'>I am pleased to see that REALbasic might be moving...</title><content type='html'>I am pleased to see that REALbasic might be moving more in the direction of using exceptions for error-handling.  Three things come to mind.&lt;br /&gt;&lt;br /&gt;Unlike the return type of a function, the compiler doesn&amp;#39;t know what exceptions might be raised from a function.  Thus it is critical that the use of exceptions be documented.  And it would be useful for framework code to include information when possible.  An OutOfMemoryException raised by Picture.Constructor is already clear.  But there are other places in the Rb framework where this is not the case.  For example, methods that raise an UnsupportedFormatException could well include something in the exception&amp;#39;s Message property.&lt;br /&gt;&lt;br /&gt;I disagree with the idea that exceptions should only represent &amp;quot;exceptional conditions&amp;quot;. Such a view leads to an error-handling mess in which some errors might be represented by error codes, and others by exceptions.  REALbasic contains a substantial amount of such cruft.&lt;br /&gt;&lt;br /&gt;I don&amp;#39;t find the use of try blocks and exception handlers to be any more onerous than heavy use of if blocks.  The ability to separate error-handling code from what might be called error-generating code means that I can do a much better job of testing error handling, and eliminate code duplication.&lt;br /&gt;&lt;br /&gt;The fact is that error-handling is difficult and a lot of work; it is one of the things that separates professionals from amateurs.  Having to deal with both error codes and exceptions (e.g. FolderItem) only complicates my job. &lt;br /&gt;&lt;br /&gt;However, it is important to remember that exceptions come with their own difficulties.  An excellent summary is given in Raymond Chen&amp;#39;s article &lt;a href="http://blogs.msdn.com/b/oldnewthing/archive/2005/01/14/352949.aspx" rel="nofollow"&gt;Cleaner, more elegant, and harder to recognize&lt;/a&gt;.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/2742241923384109849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/2742241923384109849'/><link rel='alternate' type='text/html' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html?showComment=1279645715245#c2742241923384109849' title=''/><author><name>charles</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html' ref='tag:blogger.com,1999:blog-4349911995767920194.post-3781616061191621594' source='http://www.blogger.com/feeds/4349911995767920194/posts/default/3781616061191621594' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-987759320'/></entry><entry><id>tag:blogger.com,1999:blog-4349911995767920194.post-8624556446278108189</id><published>2010-07-20T12:08:10.642-05:00</published><updated>2010-07-20T12:08:10.642-05:00</updated><title type='text'>Although the two

Dim X as New Object

and

Dim X ...</title><content type='html'>Although the two&lt;br /&gt;&lt;br /&gt;Dim X as New Object&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;Dim X as Obj&lt;br /&gt;X= New Object&lt;br /&gt;&lt;br /&gt;are both correct, I claim that the former is almost always the better choice.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/8624556446278108189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/8624556446278108189'/><link rel='alternate' type='text/html' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html?showComment=1279645690642#c8624556446278108189' title=''/><author><name>charles</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html' ref='tag:blogger.com,1999:blog-4349911995767920194.post-3781616061191621594' source='http://www.blogger.com/feeds/4349911995767920194/posts/default/3781616061191621594' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1937986039'/></entry><entry><id>tag:blogger.com,1999:blog-4349911995767920194.post-6990022089554332584</id><published>2010-07-18T20:42:45.423-05:00</published><updated>2010-07-18T20:42:45.423-05:00</updated><title type='text'>Geoff,

While this may sound like I&amp;#39;m being pi...</title><content type='html'>Geoff,&lt;br /&gt;&lt;br /&gt;While this may sound like I&amp;#39;m being picky, I don&amp;#39;t want people confused.&lt;br /&gt;&lt;br /&gt;The two syntaxes:&lt;br /&gt;&lt;br /&gt;Dim X as New Object&lt;br /&gt;&lt;br /&gt;And&lt;br /&gt;&lt;br /&gt;Dim X as New Obj&lt;br /&gt;X= New Object&lt;br /&gt;&lt;br /&gt;Are EQUALLY correct and will aways be.&lt;br /&gt;&lt;br /&gt;The first is a convenient shorthand for SOME cases&lt;br /&gt;&lt;br /&gt;If you are creating objects in a loop you may not want a new variable every time.&lt;br /&gt;&lt;br /&gt;You may be doing something with a an object locally and then passing it to method in a single pass.&lt;br /&gt;&lt;br /&gt;Or you may be assigning objects to an array...&lt;br /&gt;&lt;br /&gt;Or you may be Diming multiple objects variables at the same time.&lt;br /&gt;&lt;br /&gt;Or some may just prefer it...&lt;br /&gt;&lt;br /&gt;In any case it&amp;#39;s in no way incorrect.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/6990022089554332584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/6990022089554332584'/><link rel='alternate' type='text/html' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html?showComment=1279503765423#c6990022089554332584' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html' ref='tag:blogger.com,1999:blog-4349911995767920194.post-3781616061191621594' source='http://www.blogger.com/feeds/4349911995767920194/posts/default/3781616061191621594' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1735266790'/></entry><entry><id>tag:blogger.com,1999:blog-4349911995767920194.post-4952672186398200704</id><published>2010-07-18T19:12:13.378-05:00</published><updated>2010-07-18T19:12:13.378-05:00</updated><title type='text'>Sorry, it said &amp;quot;George said...&amp;quot; but you ...</title><content type='html'>Sorry, it said &amp;quot;George said...&amp;quot; but you message was signed Michael.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/4952672186398200704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/4952672186398200704'/><link rel='alternate' type='text/html' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html?showComment=1279498333378#c4952672186398200704' title=''/><author><name>Geoff Perlman</name><uri>http://www.blogger.com/profile/11547279443040324259</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html' ref='tag:blogger.com,1999:blog-4349911995767920194.post-3781616061191621594' source='http://www.blogger.com/feeds/4349911995767920194/posts/default/3781616061191621594' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1862998316'/></entry><entry><id>tag:blogger.com,1999:blog-4349911995767920194.post-2027130093111870587</id><published>2010-07-18T19:11:41.510-05:00</published><updated>2010-07-18T19:11:41.510-05:00</updated><title type='text'>George,

The correct syntax is:

Dim tmp as New Pi...</title><content type='html'>George,&lt;br /&gt;&lt;br /&gt;The correct syntax is:&lt;br /&gt;&lt;br /&gt;Dim tmp as New Picture(1,2,3)&lt;br /&gt;&lt;br /&gt;3 isn&amp;#39;t valid as the third parameter but I&amp;#39;m sure you know that. If you type in this syntax, when you get to picture, the status bar will give you the correct syntax. I don&amp;#39;t know which version you are using but as of 2010 R2 you do get the syntax.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/2027130093111870587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/2027130093111870587'/><link rel='alternate' type='text/html' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html?showComment=1279498301510#c2027130093111870587' title=''/><author><name>Geoff Perlman</name><uri>http://www.blogger.com/profile/11547279443040324259</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html' ref='tag:blogger.com,1999:blog-4349911995767920194.post-3781616061191621594' source='http://www.blogger.com/feeds/4349911995767920194/posts/default/3781616061191621594' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1862998316'/></entry><entry><id>tag:blogger.com,1999:blog-4349911995767920194.post-6093261633898663475</id><published>2010-07-18T18:26:28.270-05:00</published><updated>2010-07-18T18:26:28.270-05:00</updated><title type='text'>There is a problem with this.

  dim tmp as Pictur...</title><content type='html'>There is a problem with this.&lt;br /&gt;&lt;br /&gt;  dim tmp as Picture&lt;br /&gt;  &lt;br /&gt;  tmp = new picture(1,2,3)&lt;br /&gt;  &lt;br /&gt;gets you no prompting as to what 1,2 and 3 are for.&lt;br /&gt;&lt;br /&gt;Whereas&lt;br /&gt;&lt;br /&gt;  dim tmp as new Picture&lt;br /&gt;  &lt;br /&gt;  tmp = newpicture(1,2,3)&lt;br /&gt;&lt;br /&gt;gets you the autoprompting for what 1,2,3 are as its a function.&lt;br /&gt;&lt;br /&gt;At least it does on my version of RB (I have chosen to stick with the last version of RB that doesn&amp;#39;t require activation) so maybe its better now.&lt;br /&gt;&lt;br /&gt;Michael</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/6093261633898663475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/6093261633898663475'/><link rel='alternate' type='text/html' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html?showComment=1279495588270#c6093261633898663475' title=''/><author><name>George</name><uri>http://www.blogger.com/profile/01110055759329308103</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html' ref='tag:blogger.com,1999:blog-4349911995767920194.post-3781616061191621594' source='http://www.blogger.com/feeds/4349911995767920194/posts/default/3781616061191621594' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1586137057'/></entry><entry><id>tag:blogger.com,1999:blog-4349911995767920194.post-5125352709873771219</id><published>2010-07-18T18:20:10.472-05:00</published><updated>2010-07-18T18:20:10.472-05:00</updated><title type='text'>As long as exceptions are only thrown in those spe...</title><content type='html'>As long as exceptions are only thrown in those specific conditions when very unlikely events occur, then I think it is okay, but otherwise I really dislike exceptions because they &amp;quot;jump&amp;quot; the code flow.  I hate the idea of putting try...catch everywhere.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/5125352709873771219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/5125352709873771219'/><link rel='alternate' type='text/html' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html?showComment=1279495210472#c5125352709873771219' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html' ref='tag:blogger.com,1999:blog-4349911995767920194.post-3781616061191621594' source='http://www.blogger.com/feeds/4349911995767920194/posts/default/3781616061191621594' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1650609670'/></entry><entry><id>tag:blogger.com,1999:blog-4349911995767920194.post-12748283297756178</id><published>2010-07-18T17:48:09.233-05:00</published><updated>2010-07-18T17:48:09.233-05:00</updated><title type='text'>Nice post Geoff, as was your last one. I learned s...</title><content type='html'>Nice post Geoff, as was your last one. I learned something from both.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/12748283297756178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4349911995767920194/3781616061191621594/comments/default/12748283297756178'/><link rel='alternate' type='text/html' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html?showComment=1279493289233#c12748283297756178' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.realsoftwareblog.com/2010/07/exceptional-exceptions.html' ref='tag:blogger.com,1999:blog-4349911995767920194.post-3781616061191621594' source='http://www.blogger.com/feeds/4349911995767920194/posts/default/3781616061191621594' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1812779062'/></entry></feed>
