On 04/06/2015 06:45 PM, Holger Hans Peter Freyther wrote:
> On Sun, Apr 05, 2015 at 05:47:29PM +0200, Roland Plüss wrote:
>
>> What you mean with "C-style error"? A C++ exception (that doesn't work
>> it looks like)? The cCall is of void return type so I can't return
>> anything. And smalltalk side can't check the arguments as the
>> information required to perform the checks is sometimes located deep
>> inside the engine code base.
> "C-style" error.. a non zero return code and maybe setting a
> variable with the semantic of errno. The return type of "void"
> is your decision? Can't you return something to indicate success
> or failure?
I sure can decide the return type. I just considered it quite quick and
easy if I could return an #int if I link to a function actually
returning an integer. I certainly could return nil but then I have no
idea what error really happened nor can I properly catch it (well...
besides ifNotNil: ). Since Smalltalk has already an exception/error
system why not using it? I don't like wrangling a language unless
there's no other choice.

And as far as I know I can't include any code into a <primitive>
declared method.

I once did the trick with errno type error handling in a module I made
for Smalltalk but it's cumbersome to use and error prone.

-- 
Mit freundlichen Grüssen
Plüss Roland

Leader und Head Programmer
- Game: Epsylon ( http://www.indiedb.com/games/epsylon )
- Game Engine: Drag[en]gine ( http://www.indiedb.com/engines/dragengine
, http://dragengine.rptd.ch/wiki )
- Normal Map Generator: DENormGen ( http://epsylon.rptd.ch/denormgen.php )
- Sowie verschiedene Blender Export-Skripts und Game-Tools

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
help-smalltalk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to