richtige Exception für Property Index

24/03/2009 - 14:33 von Thomas Poenicke | Report spam
Hallo,

ich stelle die Properties (alles String) einer Klasse über einen Index
zur Verfügung.

class foo{
private String prop1;
private String prop2;
usw.

public String this[String param]{
get{
switch(param){
case "prop1":
return prop1;
case "prop2":
return prop2;
default:
throw new WelcheExceptionNun("Unknown property!");
}
}
set{
switch(analog oben){...}
}
}

Nur welche Exception sollte ich nun werfen? IndexOutOfBound? Das würde
eher bei einem numerischen Index erwartet. ArgumentException? Passt
meiner Meinung nach am besten, weil hier ein falsches Argument kommt.

Was würdet Ihr hier erwarten, wenn man nicht grad eine allgemeine
Exception werfen will?

Danke
Thomas
 

Lesen sie die antworten

#1 Elmar Boye
24/03/2009 - 14:49 | Warnen spam
Hallo Thomas,

Thomas Poenicke schrieb:
Hallo,
public String this[String param]{
get{
switch(param){
case "prop1":
return prop1;
case "prop2":
return prop2;
default:
throw new WelcheExceptionNun("Unknown property!");
}
}
set{
switch(analog oben){...}
}
}

Nur welche Exception sollte ich nun werfen? IndexOutOfBound?



Die IndexOutOfRangeException sollte nur von der Clr selbst
erzeugt werden, die sie verwendet, wenn ein ungültiger Array
Index verwendet wurde.

ArgumentException? Passt meiner Meinung nach am besten,
weil hier ein falsches Argument kommt.



Das wàre schon richtig. Wie auch anderswo, sollte man sich
an die Vorlagen der BCL halten, hier zum Beispiel List<T>:
<URL:http://msdn.microsoft.com/de-de/lib...1.aspx>

Gruß Elmar

Ähnliche fragen