黑马程序员技术交流社区
标题:
黑马程序员——基础篇——异常
[打印本页]
作者:
Himoriarty
时间:
2015-4-24 09:26
标题:
黑马程序员——基础篇——异常
本帖最后由 Himoriarty 于 2015-6-10 16:54 编辑
------- <a target="blank">android培训</a>、<a target="blank">java培训</a>、期待与您交流! ----------
异常:就是程序在运行时出现不正常情况。
异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述,并封装成对象。其实就是java对不正常情况进行描述后的对象体现。
对于问题的划分有严重和不严重;对严重的java通过Error类进行描述,对不严重的可以try,发出提示信息。
<div class="blockcode"><blockquote>try
{
//需要被检测的代码;
}
catch(//异常类 变量)
{
//处理异常的代码(处理方式);
}
finally
{
//一定会执行的语句;通常为关闭资源。
}
<span style="line-height: 2.2em;">
</span>
复制代码
//异常处理练习
public class FinallyDemo
{
public static void main(String[] args)
{
java.io.PrintWriter output = null;
try
{
output = new java.io.PrintWriter("text.txt");
output.println("Welcome to java");
}
catch(java.io.IOException ex)
{
ex.toString();
}
finally
{
if(output != null)
output.close();
}
System.out.println("End of program");
}
}
复制代码
学习中的疑问,毕老师的课程中讲到在自定义异常类时可以继承RuntimeException,这样的话就不用自己抛出异常,JVM会自动抛出,但是我在看JAVA语言程序设计这本书时里面说的是最好不要通过扩展RuntimeException声明一个自定制异常类,因为这会使自定义异常类成为免检的,最好使自定制异常必检,这样,编译器就可以在程序中强制捕捉这些异常。这是什么意思。
----------
android
培训
、
java培训
、java学习型技术博客、期待与您交流!------------
作者:
突然世界晴
时间:
2015-4-24 09:39
继承RuntimeException的类是运行时期的异常,而不是编译时期就会提示的。
所以继承RuntimeException的类编译时编译器不会去捕捉,就是免检的意思。只有运行的时候才知道。
作者:
燕赵之风
时间:
2015-4-24 09:45
又增长了点见识,免检。。。。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2