java中try和catch的具体作用
试分析区别,截图如下(不加不是一样可以知道输入的数太大了,超出整形范围吗): 展开
try就像一个网,把try{}里面的代码所抛出的异常都网住,然后把异常交给catch{}里面的代码去处理,最后执行finally之中的代码。
无论try中代码有没有异常,也无论catch是否将异常捕获到,finally中的代码都一定会被执行。
例如:当除数为0时,编译不会报错,如果没有try/catch的话,程序直接崩溃。用try/catch的话,则可以让程序运行下去,并且输出为什么出错。
扩展资料
java中try....catch的使用原则
1、当代码中可能会遇到的异常需要用try{ }catch{Exception e}来处理,否则导致程序崩溃。
2、不要在for循环里面嵌套try catch子句。
3、尽可能的减少try catch子句的嵌套,会影响性能。
4、同一个try子句中多个catch时,异常处理原则。
当一个try块中包含众多语句,可能抛出多种不同的异常,只有通过多个catch块来捕获不同的异常。而如果两个异常存在继承关系,应该把子类异常放在父类异常的前面来捕获,或者把最小范围异常放在最前面 ,范围大的放在后面。
因为是按照catch块从上往下匹配,当它匹配某一个catch块的时候,就直接进入到这个catch块里面去了,后面在再有catch块的话,它不做任何处理,直接跳过去,全部忽略掉。
如果有finally的话进入到finally里面继续执行。Exception这个异常的根类一定要刚在最后一个catch里面,如果放在前面或者中间,任何异常都会和Exception匹配的,就会报已捕获到异常的错误。
2013-08-23
你这里的例子不是很明显,因为try,catch()的作用并不是用来打印出错信息的。而是保证程序不会因为出异常而中止执行。
那一切OK.
因为catch子句可以有多个.所以这时就可能出现父类异常B了.此时的catch顺序就是子类在前父类在后.当然了catch子句里的异常可能是多个异常,不存在父子关系.
一句话:能捕捉到的异常,将之处理了,就不进行抛出了.处理不了,继续往该异常的上一层异常调用的地方抛出,直到解决.
catch里面可以throw
方法后可以throws exception.
2013-08-23