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:
1. Create an new exception class, which is: FileNotFoundError
Smalltalk.Core defineClass: #FileNotFound superclass: #{Core.Error} indexedType: #none private: false instanceVariableNames: '' classInstanceVariableNames: '' imports: '' category: ''
2. I use that new exception to raise signal on a FileNotFoundError. fileNotFound
^FileNotFound raiseSignal: 'The file is not exist'
At first I'm using handler on:[...] do: [..] but I only need to define my own description of FileNotFoundError so that's all I need to do.
I'm still a beginner so sometimes I misunderstood and get confused.
Really appreciate all your help.
----- Original Message ---- From: Alex Chi alex_chi99@yahoo.com To: beginners@lists.squeakfoundation.org Sent: Monday, October 13, 2008 5:18:43 PM Subject: Re: [Newbies] How to create new exception
Thank you all! I already solved my problem. Thanks for your help.
regards,
alex
----- Original Message ---- From: Alex Chi alex_chi99@yahoo.com To: beginners@lists.squeakfoundation.org Sent: Monday, October 13, 2008 12:31:18 PM Subject: Re: [Newbies] How to create new exception
Thanks a lot for all the information. 1 more question, after create a new exception class then to use it let's say I have to define something like: Then use it:
[SpontaneousCombustionException signal] on: SpontaneousCombustionException do: [:ex | Transcript show: 'Explosion detected'; cr]
My question is where do I write this code? Is it in one of my method for example I create spontaneousCombustionSignal method, and I write this code there?
"Alex" == Alex Chi alex_chi99@yahoo.com writes:
Alex> Can you give me an example on how to create new exception and call/use Alex> that exception in my program? I try to googling but don't seem to find Alex> one. Thanks. ------------------------------
Message: 4 Date: Sun, 12 Oct 2008 09:20:00 -0700 From: Matthew Fulmer tapplek@gmail.com Subject: Re: [Newbies] How to create new exception To: beginners@lists.squeakfoundation.org Message-ID: 20081012162000.GG5308@tacobell Content-Type: text/plain; charset=us-ascii
On Sun, Oct 12, 2008 at 01:50:05AM -0700, Alex Chi wrote:
Can you give me an example on how to create new exception and call/use that exception in my program? I try to googling but don't seem to find one. Thanks.
Create an exception class:
Exception subclass: #SpontaneousCombustionException instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Heat'.
Then use it:
[SpontaneousCombustionException signal] on: SpontaneousCombustionException do: [:ex | Transcript show: 'Explosion detected'; cr]
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.
beginners@lists.squeakfoundation.org