本帖最后由 anqi 于 2014-4-23 20:23 编辑
异常的概念你没搞清楚 在《java编程思想》中这样定义阻止当前方法或作用域继续执行的问题 什么时候应该用try什么时候应该用throw。 try的意思就是试一下里面的话会不会抛出异常,如果有异常,我就扔出一个包含这个异常信息的对象。catch就能捕捉这个对象。 既然我对这个异常处理了自然不用在throw(往外扔了)。如果我自身处理不了异常,我就利用throw 将异常抛出去,交给上一级程序处理。
如果这个可能出现异常的语句没有进行try处理,它就会有可能抛出这个异常对象。抛出了自身没处理就需要把它throw 给上一级进行处理。对于运行时异常 就是一些特殊的异常,这个异常相当于交给虚拟机进行了处理。虚拟的做法就是将程序停止,告诉你异常的信息,你需要更正后再运行程序- public int devide(int num1, int num2) {
- //判断除数是否为0
- if(num2 == 0) {
- throw new IllegalArgumentException("除数不能为零");//正常运行的时候它不做什么 当发现等于零的时候抛出一个运行时异常
- }
-
- return num1/num2;
复制代码 你可以判断当num2 == 0时打印一句“除数不能为零”。当运行程序时候,使用这个方法的人可能发现不了这个错误,因为程序在正常的运行。
但是你抛出了一个运行时异常,就是叫程序强制停止,告诉他“除数不能为零”,他想继续运行这个程序就必须改正num2的值。
|