黑马程序员技术交流社区
标题:
关于IO中的小异常处理
[打印本页]
作者:
唐林渊
时间:
2012-3-28 13:21
标题:
关于IO中的小异常处理
本帖最后由 唐林渊 于 2012-3-28 13:26 编辑
在我得到
catch(IOException e){ //
System.out.print(e.tostring()); 这个地方可以用throw new RuntimeException("读取文件异常") //这两个方法有什么区别 是不是输出的还会继续执行,而不会停止?
}
作者:
翟友伟
时间:
2012-3-28 13:25
没看懂。。。呵呵
表达不清楚啊
作者:
adison
时间:
2012-3-28 13:31
System.out.print(e.tostring()); //这相当于把异常处理了
throw new IOException("读取文件异常") //这里继续把异常抛出,那么当你调用这个方法时必须要处理
作者:
izwj
时间:
2012-3-28 13:34
API文档解释:
RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。
可能在执行方法期间抛出但未被捕获的 RuntimeException 的任何子类都无需在 throws 子句中进行声明。
也就是说,之所以不用在函数声明,是因为不需要让调用者处理。
当该异常发生,希望程序停止。因为出现了无法继续运算的情况,
希望停止程序后,对代码进行修正。
作者:
王国华
时间:
2012-3-28 15:37
System.out.print(e.tostring()); 异常处理
throw new RuntimeException("读取文件异常") 此时程序会停止,RuntimeException是系统异常,比如内存溢出等,它抛出的目的就是让系统停止,RuntimeException抛出后调用者不用抛或者处理,需要修改代码来处理。
作者:
newlaw2013
时间:
2012-3-28 15:48
引用《Java编程思想》中的话:
“如果方法要抛出异常,它必须假定异常将被“捕获”并得到处理。异常处理的好处之一就是,使你得以先在一个地方专注于正在解决的问题,然后再别的地方处理这些代码中的错误。”
作者:
抓哇
时间:
2012-3-28 15:52
只要执行到catch块里的话程序都会停止 或者如果有finally会执行下那里的语句 就没别的了
这个2个方法区别:第一种只是仅仅输出异常信息
第2个是吧异常再往下抛给子类运行时异常处理 此操作让异常更详细
还有如果是写在方法名后面则是往上抛 此操作则是异常更模糊了 隐藏了异常详细
这里的普通方法名后面或main方法后面都用throws Exception
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2