Re: [fpc-pascal] Standard exceptions

2011-03-01 Thread michael . vancanneyt



On Mon, 28 Feb 2011, Michael Fuchs wrote:


Hello,

while porting software from .NET to FreePascal I am looking for some 
exceptions for recurrent errors. For example:


ArgumentException, ArgumentNullException, ArgumentOutOfRangeException

Is there a unit which defines those exceptions?


These exact exceptions are not defined. The SysUtils unit defines the most
standard exceptions, as well as the Classes unit.

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Standard exceptions

2011-03-01 Thread Sven Barth

Am 28.02.2011 13:51, schrieb Michael Fuchs:

Hello,

while porting software from .NET to FreePascal I am looking for some
exceptions for recurrent errors. For example:

ArgumentException, ArgumentNullException, ArgumentOutOfRangeException

Is there a unit which defines those exceptions?


As far as I'm aware of: There are none.

There is ERangeError though (in SysUtils), but that's not an equivalent 
for ArgumentOutOfRangeException (I suppose that inherits from 
ArgumentException?).


Regards,
Sven
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Standard exceptions

2011-03-01 Thread Michael Fuchs

Am 28.02.2011 14:17, schrieb Sven Barth:

As far as I'm aware of: There are none.

There is ERangeError though (in SysUtils), but that's not an equivalent
for ArgumentOutOfRangeException (I suppose that inherits from
ArgumentException?).


Yes,and all Argument..Exceptions have a property ParamName:String 
containing the parameter which causes the error.


I also miss a NotImplementedException (or ENotImplemented in FPC style), 
very handy for test driven development. :)


And by the way: how about a InnerException for the SysUtils.Exception 
class? This would be nice if you want to wrap an exception around another.


Are there any chances for implement this?

regards
Michael
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Standard exceptions

2011-03-01 Thread Marcos Douglas
On Mon, Feb 28, 2011 at 9:51 AM, Michael Fuchs
freepas...@ypa-software.de wrote:
 Hello,

 while porting software from .NET to FreePascal I am looking for some
 exceptions for recurrent errors. For example:

 ArgumentException, ArgumentNullException, ArgumentOutOfRangeException

 Is there a unit which defines those exceptions?

I never heard anybody said do this conversion...
Well, do not exists these Classes in FPC. Not exists a place for all
Exception classes but the first classe to exceptions is declared in
SysUtils unit.


Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Standard exceptions

2011-03-01 Thread Jonas Maebe

On 28 Feb 2011, at 13:51, Michael Fuchs wrote:

 while porting software from .NET to FreePascal I am looking for some 
 exceptions for recurrent errors. For example:
 
 ArgumentException, ArgumentNullException, ArgumentOutOfRangeException

None of these exist in Pascal. You can get exceptions for range check errors 
(ERangeError) in case you enable range checking and include the sysutils unit 
in your uses clause, but in that case range checking will be performed for all 
assignments, not just for passed arguments (and the range is checked by the 
compiler at the caller side based on the declared parameter types, not at the 
callee side). There are only a few routines in the RTL that explicitly raise it 
after explicitly checking their arguments.

There are no generic equivalents to ArgumentException and ArgumentNullException 
(when asking such questions in the future, you may also want to include a 
reference to a web page that describes what they mean, it makes it easier for 
people to answer you).

 Is there a unit which defines those exceptions?

Most general exception types are defined in the sysutils unit. In many cases, 
routines return an error code rather than throwing an exception though. And if 
they throw an exception, it's quite likely that it's specific to that routine 
rather than of some generic type. The FPC manuals list per routine what happens 
in case of errors.


Jonas___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Standard exceptions

2011-03-01 Thread Vinzent Höfler
On Tue, 01 Mar 2011 12:38:27 +0100, Michael Fuchs  
freepas...@ypa-software.de wrote:


I also miss a NotImplementedException (or ENotImplemented in FPC style),  
very handy for test driven development. :)


Yeah. And

type
   //-- @abstract(Obvious coding error.)
   Coder_Needs_Coffee = class (SysUtils.Exception);

was very handy for those me stupid situations.

;)


Vinzent.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Standard exceptions

2011-03-01 Thread Marco van de Voort
In our previous episode, Jonas Maebe said:
 None of these exist in Pascal. You can get exceptions for range check errors 
 (ERangeError) in case you enable range checking and include the sysutils unit 
 in your uses clause, but in that case range checking will be performed for 
 all assignments, not just for passed arguments (and the range is checked by 
 the compiler at the caller side based on the declared parameter types, not at 
 the callee side). There are only a few routines in the RTL that explicitly 
 raise it after explicitly checking their arguments.
 
 There are no generic equivalents to ArgumentException and
 ArgumentNullException (when asking such questions in the future, you may
 also want to include a reference to a web page that describes what they
 mean, it makes it easier for people to answer you).

C# has nullable types, and my guess would be that the ArgumentNullexception
happens you assign/pass a nullable value with NULL to a non-nullable
equivalent.

So it could be that it corresponds to some EVariantisnull error, but that is
a bit of a stretch.
 
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


[fpc-pascal] Standard exceptions

2011-02-28 Thread Michael Fuchs

Hello,

while porting software from .NET to FreePascal I am looking for some 
exceptions for recurrent errors. For example:


ArgumentException, ArgumentNullException, ArgumentOutOfRangeException

Is there a unit which defines those exceptions?

regards
Michael
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal