Exception 질문입니다.
펴라
저기 제가 과제가 있는데 그 중에 한 부분이 막혀서 질문 드립니다
예외처리에 관한건데
반지름이 입력되고 이것을 내려받기 하는 모뎀의 속도가 있습니다
이때 반지름이 음수가 입력이 되면 반지름을 0으로 하고 예외처리를 발생시켜서 예외에 대한 구문이 나와야하는데
나오질 않네요
0/어떤수 하니깐 그냥 0이 나오고 예외처리로 안넘어갑니다
책의 결과창에는 java.lang.ArithmeticException: /by zero
이렇게 나오는데요..
어떻게 해야하나요?
첨부파일은 이것과 관련된 파일입니다.
ExceptionDemo.java 파일에 제가 막힌 부분의 주석을 달아놨습니다.
파일보고 해주시면 너무너무 감사하구요..
그렇게 안하시구 단순히 위의 질문만이라도 이야기 주셔도 너무 감사하겠습니다
-
꽃큰
0이 나누어 질때에는 문제가 발생하지 않으나. 0 으로 나눌경우에는 문제가 발생하는. 수학적 문제입니다.
-
소심한녀자
소스를 추적해야 합니다.
맨마지막 new Circle(300) 하게 되면.. Circle 생성자로 가게 되고 생성자에서는 setRadius(300)을 호출하게 됩니다. 그래서 radius = 300 으로 셋팅됩니다.
하지만.. downloadTime(0) 으로 주었기 때문에.. 결국 modemSpeed = 0 이 되고..
내부적으로 getArea() / modemSpeed 를 계산하게 되므로
0으로 나누는 사태까지 가게 됩니다.
정작 0으로 나누 -
주미
흠.. 0 으로 나누는 문제는.. 수학적인 문제입니다. 0으로 나누는것은.. 수학에서 불능(?) 이라고 하죠..
가능하지 않은 일입니다. 그렇기 때문에 프로그램으로도.. 어쩔 수 없는 문제 입니다.
코드를 잘 확인해 보시면.. 0 으로 나누는 곳이 있을겁니다. ^_^ -
잉간
음... 그런게 또 하나 더 있긴 있거든요
그건 올바르게 나오는데
이게 어떤건지.. 책이 잘 못된건지.. -
볼매
0으로 나눌때 에어가나는경우는 정수a,b일때 a/b에서
b가 0일때 java.lang.ArithmeticException 발생합니다.
a/b에서 a가 0일경우 에러가 발생하지 않습니다.