String bemenet ellenörzés esetén mit adjak vissza?
Figyelt kérdés
Ha a bemenet nem felel meg a követelményeknek ,akkor mit szokás returnolni?
pl. egy szöveggel kell valamit csinálni és új stringet visszaadni.
private String doSomething(String word){
if (word==null||word.length()<1){
return X;
}
code
return resultString;
}
X-nél mit szokás? Null-t? vagy string üzenetet pl return "invalid word" ?
2016. okt. 10. 08:42
1/8 anonim válasza:
Vagy csak simán false érték, ahogy neked jobban tetszik és jobban tudod vizsgálni
2016. okt. 10. 08:46
Hasznos számodra ez a válasz?
2/8 anonim válasza:
Internetes alkalmazásnál én kliens oldalon adok vissza hibát, szerver oldalon a stringet módosítom.
2016. okt. 10. 08:56
Hasznos számodra ez a válasz?
3/8 anonim válasza:
Vagy visszaadsz egy üres stringet, vagy dobsz egy exception-t.
2016. okt. 10. 09:03
Hasznos számodra ez a válasz?
4/8 anonim válasza:
Nyelv és helyzet függő.
Ezt mindenestre biztos nem: "vagy string üzenetet pl return "invalid word".
Adhatsz vissza null-t, ha egyféle hiba lehet és a nullból kiderül mi a gond.
Ha alaposabb hibakezelés kell, akkor dobhatsz kivételt például.
De akár definiálhatsz összetett visszatérési értéket, amiben az egyik mező egy hibakód enum.
2016. okt. 10. 10:25
Hasznos számodra ez a válasz?
5/8 anonim válasza:
konstans e01, e02, e03, stb.
Ezt adod vissza, pontosabban ennek valamelyikét.
Így építesz fel hibakezelést, ill. hibatűrést.
2016. okt. 10. 11:33
Hasznos számodra ez a válasz?
6/8 anonim válasza:
Itt attól függ, hogy mennyire fontos információ nem felel meg a követelményeknek. Ha mondjuk egy megrendelőnek a szállítási címe, akkor arra mindenképp valamilyen Exception-t dobnék. Ha tűréshatáron belül van, hogy nem lesz meg az adat (mondjuk az oldaladon van egy üzenőfal), akkor olyan eredményt adnék vissza, amely nem akasztja meg a programom futását (pl. egy üres string). Harmadik esetként valami alapján megpróbálhatod helyreállítani a nem megfelelően bevitt adatot. Ha bekérsz mondjuk egy településnevet, és mondjuk a felhasználó azt írta be, hogy "budappest", akkor mondjuk egy ismert helységnév-adatbázis alapján és a Levenshtein-szótávolság algoritmusa alapján vissza tudod állítani "Budapest"-re.
2016. okt. 10. 12:27
Hasznos számodra ez a válasz?
7/8 anonim válasza:
Környezettől és körülményektől függ. Ahogy látom, Java-t használsz, ott általános helyzetben kivételeket szokás dobni, amelynek üres string visszaadásához képest megvan az az előnye, hogy kontextust tudsz biztosítani, hogy mi a gond (pl null argumentum, hibás számformátum, nem létező városnév, érték intervallumon kívül esik, stb...).
2016. okt. 10. 13:30
Hasznos számodra ez a válasz?
8/8 anonim válasza:
Ha framework nélkül dolgozok akkor dobnék egy IllegalArgumentException-t, ha pedig frameworkkel akkor az ott ajánlott eljárást valósítanám meg, pl. Spring estében:
Assert.hasText(word, "beszédes hibaüzenet"); //word null vagy üres volt
Amúgy ajánlom figyelmedbe az str.isEmpty() metódust a Java SDK-ból, Strings.isNullOrEmpty() metódust Guavaból, illetve a StringUtils függvényeit az appache commonsból. Ilyet ne írj: "word.length()<1", ennél már az is jobb ha azt írod hogy "word.length() == 0".
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik. Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!