On Wed, Oct 15, 2008 at 5:22 PM, Alex Chi alex_chi99@yahoo.com wrote:
Sorry for the that, I mean my problem is I put the exception in the wrong part of my program, so everytime I try to call it in the method it does not return the exception, so what i did was:
- Create an new exception class, which is: FileNotFoundError
Smalltalk.Core defineClass: #FileNotFound superclass: #{Core.Error} indexedType: #none private: false instanceVariableNames: '' classInstanceVariableNames: '' imports: '' category: ''
I use that new exception to raise signal on a FileNotFoundError. fileNotFound
^FileNotFound raiseSignal: 'The file is not exist'
Which version of Smalltalk are you using? This doesn't look like Squeak to me.
If you want an Exception object, you could just return a new instance:
fileNotFound ^ FileDoesNotExistException new.
Although this method is pretty pointless.
I think you're misunderstanding how Exceptions work; you need to do more reading. I'm not sure if Smalltalk Exceptions are well documented anywhere, but I do know that they work in a similar way to exceptions in other programming languages such as Java or Python, so you could Google or get books from a library that describe these.
Briefly, Exceptions are intended for handling situations where something goes wrong. See "FileDoesNotExistException class>>example" for an example.
Gulik.