Revised: Mar./21st/2002: Since: Jan./27th/2002
$BE,Ev$JNc30%/%i%9$r7Q>5$7$F!"FH<+Dj5A$NNc30%/%i%9$r:n$k$3$H$b=PMh$^$9!#Nc30%/%i%9$O(B $B$3$N$H$-!"(B $B6qBNE*$JNc$r:n$C$F$+$i!"$=$l$K9g$o$;$FNc30%/%i%9$rDj5A$7$F$_$^$9!#(B $B$NG[Ns$rJ];}$9$k%/%i%9$G$9!#%$%s%9%?%s%92=$N$H$-$K%3%s%9%H%i%/%?$K%f!<%6L>$NG[Ns$rM?$($^$9!#FCDj$N%f!<%6$rI=$9MWAG$N%$%s%G%C%/%9$r!"Ev3:%f!<%6$N(B ID $B$H$7$F!"(B ID $B$+$i%f!<%6L>$r!"%f!<%6L>$+$i(B ID $B$rF@$k$3$H$,=PMh$^$9!#(B $B$3$N%/%i%9$OJ8;zNs7?$NG[Ns$rJ];}$7!"%a%=%C%I$K$O$=$N%2%C%?!<(B ( $B>e$G5s$2$?(B $B $B$3$3$GDj5A$7$?(B $B$3$N$h$&$JLdBj$r2r7h$9$k0Y$K!"$3$3$G$OFH<+$NNc30%/%i%9$rDj5A$7$F$_$^$9!#(B $B$3$N$h$&$K!"FH<+$NDj5A$GNc30$r:n$k>l9g$O!"KvHx$r(B $B$3$l$i$NNc30%/%i%9$r$3$l$+$i:n$j$^$9$,!"%9!<%Q!<%/%i%9(B $B$3$l$i$NNc30%/%i%9$r%3%s%Q%$%k$7$F%P%$%H%3!<%I!J(B $B$G$O!"=`Hw$,@0$$$^$7$?$N$G!"(B $B%3%s%Q%$%k$7$F $B0z?t$rM?$($F$b!"BP1~$9$k%f!<%6$,B8:_$7$J$1$l$P(B $B$5$i$K!"G[Ns$N%$%s%G%C%/%9$r(B UID $B$H$7$F%f!<%6L>$r%2%C%H$G$-$k$O$:$G$9$,!"(B UID $B$,G[Ns$NMWAG?t$rD6$($?$j!"Ii?t$@$C$?$j$9$l$P!"(B java.lang.Throwable
$B$N%5%V%/%i%9$G$"$j!"(B throw
$B$G$-$^$9$7!"%a%=%C%I$N(B throws
$B%j%9%H$K2C$($k$3$H$b=PMh$^$9!#$^$?!"%9!<%Q!<%/%i%9$KA*$s$@Nc30%/%i%9$K$h$C$F$O!"$=$N%/%i%9$GDj5A$7$5$l$?FCRuntimeException
$B$r7Q>5$9$l$P!"(B catch
$B$7$?$j!"%a%=%C%I$N(B throws
$B%j%9%H$K;XDj$9$kI,MW$O$J$/$J$j$^$9!#$7$+$7!"L@<(E*$JNc30$N%9%m!<$O!"La$jCM$d0z?t$HF1MM$J%a%=%C%I$N%$%s%?%U%'!<%9$N0lIt$@$+$i$3$=M-0U5A$J$N$@$H8@$($^$9!#DL>o$O(B Exception
$B%/%i%9$+$i7Q>5$7$F!">e0L$N@)8f$G%-%c%C%A$7$^$9!#(B$B%5%s%W%k(B
class UserList {
private String[] users;
// $B%f!<%6$NG[Ns$rBeF~(B
void setUsers(String[] args) {
// $BG[Ns$N;2>H$NCM$NBeF~(B
users=args;
}
// UID $B$+$i%f!<%6L>$r
getXyz()
) $B$H%;%C%?!<(B (setXyz()
) $B$,Dj5A$5$l$F$$$^$9!#$3$N%/%i%9$r;H$&%3%s%H%m!<%k%/%i%9$r
UserTest.java
:
class UserTest {
public static void main(String[] args) {
// $B%$%s%9%?%s%92=(B
UserList obj = new UserList();
// $B%f!<%6G[Ns$N%;%C%H(B
obj.setUsers(args);
System.out.print("sugai -> ");
System.out.println(obj.getUser("sugai"));
System.out.print("0 -> ");
System.out.println(obj.getUser(0));
}
}
UserList
$B%/%i%9$O$3$N%/%i%9$HF1$8%U%!%$%k$K5-=R$7$F$b9=$$$^$;$s$7!"J,$1$F$b9=$$$^$;$s!#C"$7!"F1$8%G%#%l%/%H%j$KB8:_$7$F$$$k$3$H$,I,MW$G$9!#%U%!%$%k$KJ]B8$G$-$?$i
C:\Java\Excep>javac UserTest.java
C:\Java\Excep>java UserTest root team01 team02 sugai system admin
sugai -> 3
0 -> root
$B%5%s%W%k(B
$BNc30%/%i%9$NDj5A(B
UserList
$B%/%i%9$K$O%W%j%_%F%#%V$JLdBj$,;68+$5$l$^$9!#(B
uid
" $B$NE,@5CM$,%"%5%$%s$5$l$J$$>l9g$N=hM}$,$J$$(B
UserNotAuthorizedException
UidOutOfBoundException
NullUsersException
Exception
$B$K$9$k$N$,L?L>47Nc(B (naming convention) $B$G$9!#(BUsersException
$B$r:n$C$F!"$=$l$+$iGI@8$5$;$k$3$H$K$7$^$9!#$3$NNc30%/%i%9$O(B Exception
$B%/%i%9$NGI@8$H$7$F:n$j$^$9!#(B
// UserList $B%/%i%9$,H/@8$9$kNc30$N%9!<%Q!<%/%i%9(B
class UsersException extends Exception {
public UsersException(String str) {
super(str);
}
}
class UserNotAuthorizedException extends UsersException {
// UID
private int id;
// $B%f!<%6L>(B
private String name;
// $B%3%s%9%H%i%/%?(B
public UserNotAuthorizedException() {
super("$B$3$N%f!<%6$OG'>Z$5$l$^$;$s!#(B");
}
public void setUid(int i) {
id = i;
}
public void setName(String user) {
name = user;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
}
class UidOutOfBoundException extends UsersException {
// UID $B$N>e8B(B
private int hid;
// $B%3%s%9%H%i%/%?!J0z?t$O(B UID $B$N>e8B!K(B
public UidOutOfBoundException(int i) {
super("UID $B$NHO0O$O(B" + 0 + "$B$+$i(B" + i + "$B$G$9!#(B");
hid = i;
}
public int getHid() {
return hid;
}
}
class NullUsersException extends UsersException {
// $B%3%s%9%H%i%/%?(B
NullUsersException() {
super("$B%f!<%6$,Dj5A$5$l$F$$$^$;$s!#(B");
}
}
*.class
$B%U%!%$%k!K$rMQ0U$7$F$*$-$^$9!#(B
C:\Java\Excep>javac UsersException.java
C:\Java\Excep>
$BNc30%/%i%9$NMxMQ(B
UserList
$B%/%i%9$r$3$l$i$NNc30$r(B throw
$B$9$k$h$&$KJT=8$7$^$9!#(BUserList.java
:
class UserList {
private String[] users;
void setUsers(String[] args) {
// $BG[Ns$N;2>H$NCM$NBeF~(B
users = args;
}
String[] getUsers() throws NullUsersException {
if (users.equals(null)) {
throw new NullUsersException();
}
return users;
}
String getUser(int uid) throws UsersException {
if (users.equals(null)) {
throw new NullUsersException();
} else if (uid < 0 || uid >= users.length) {
UidOutOfBoundException excep
= new UidOutOfBoundException(users.length - 1);
throw excep;
}
return users[uid];
}
int getUser(String user) throws UsersException {
int uid = 0;
if (users.length == 0) {
throw new NullUsersException();
} else {
for (int i = 0; i < users.length; i++) {
if (user.equals(users[i])) {
uid = i;
break;
} else if (i == users.length - 1) {
UserNotAuthorizedException excep
= new UserNotAuthorizedException();
excep.setName(user);
throw excep;
}
}
}
return uid;
}
}
UsersList
$B%/%i%9$N(B private
$B$G$O$J$$%$%s%?%U%'!<%9ItJ,$rJT=8$7$?$N$G!"$3$N%/%i%9$r%$%s%9%?%s%92=$9$k%3%s%H%m!<%k%/%i%9$NJ}$bJT=8$7$^$9!#(B
class UserTest {
public static void main(String[] args) {
UserList obj = new UserList();
obj.setUsers(args);
try {
System.out.print("sugai -> ");
System.out.println(obj.getUser("sugai"));
System.out.print("10 -> ");
System.out.println(obj.getUser(10));
} catch (UsersException e) {
System.out.println("");
System.out.println(e);
return;
}
}
}
NullUsersException
$B$,H/@8$9$k$O$:$G$9!#(B
C:\Java\Excep>javac UserTest.java
C:\Java\Excep>java UserTest
sugai ->
NullUsersException: $B%f!<%6$,Dj5A$5$l$F$$$^$;$s!#(B
C:\Java\Excep>
UserNotAuthorizedException
$B$,H/@8$9$k$O$:$G$9!#(B
C:\Java\Excep>java UserTest root team01 team02
sugai ->
UserNotAuthorizedException: $B$3$N%f!<%6$OG'>Z$5$l$^$;$s!#(B
C:\Java\Excep>
UidOutOfBoundException
$B$,H/@8$9$k$O$:$G$9!#(B
C:\Java\Excep>java UserTest root team01 team02 sugai
sugai -> 3
10 ->
UidOutOfBoundException: UID $B$NHO0O$O(B0$B$+$i(B3$B$G$9!#(B
C:\Java\Excep>
Copyright © 2001 SUGAI, Manabu. All Rights Reserved.
SEO
[PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送