다음은 다른 누군가가 작성한 클래스입니다.NumberFormatException 캐치
내가 직면 한 문제는 parse method
에 null as the rawString
이 들어갈 때 NumberFormatException
을 던지고 있다는 것입니다.
내가 생각한 것은 NumberFormatException과 set the value itself as null
을 잡아야한다는 것입니다. 그래서 내가했던 방식이 옳은가?
public class ByteAttr {
@JExType(sequence = 1)
private Byte value;
public static ByteAttr parse(String rawString) {
ByteAttr attr = new ByteAttr();
try {
attr.setValue(Byte.valueOf(rawString));
} catch (NumberFormatException nfEx) {
attr.setValue(null);
}
return attr;
}
public Byte getValue() {
return this.value;
}
public void setValue(Byte value) {
this.value = value;
}
}
IMO 값이 없음을 나타 내기 위해 0 또는 -1을 설정하는 것이 좋으며 나중에 프로그램/응용 프로그램에 'NullPointerException'이 없어야합니다. –
@ LuiggiMendoza 나는 동의하지 않는다. null 값은 완벽하게 받아 들일 수 있으며 nullchecks는 나중에 프로그램에서 사용되어야합니다. '0'과'-1'은 모두 유효한 값이므로, 그것들이 부족하다는 것을 나타내는데 사용되어서는 안됩니다. – Vulcan
@ Vulcan 디자인에 따라 다릅니다. 그것이 내가 IMO라고 말한 이유입니다 :). 당신은 유효한 포인트를 가질 수 있었지만, 실제 코드에 도달하기 전에 널 체크를 많이 발견했기 때문에 널 대신에 디폴트 값을 선호하고 nullchecks와 NPE를 많이 선호합니다. –