黑马程序员-java学习之异常
2013-05-10 20:59
197 查看
-------android培训、java培训、期待与您交流!
----------
异常 : (1)就是程序运行过程中,遇到了问题,这就叫异常。
(2)异常的体系
Throwable 其实应该分三种
Error 通常出现重大问题如:运行的类不存在或者内存溢出等。不编写针对代码对其处理。
Exception 除了 RuntimeException 和其所有子类,其他所有的异常类都是在编译的时候必须要处理的
要么try,要么抛
RuntimeException
RuntimeException 和其所有的子类,都不会在编译的时候报异常,而是在运行时报异常,这时候我们就需要回头看看我
们的代码是否有问题,比如角标越界,空指针等
(3)Throwable
A:getMessage() :返回此 throwable 的详细消息字符串。
class Throwable {
String detailMessage;
Throwable(){}
Throwable(String message) {
this.detailMessage = message;
}
public String getMessage() {
return detailMessage;
}
}
B:toString():获取异常类名和异常信息,返回字符串。
C:printStackTrace():获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
(4)处理异常处理方式:
A:try...catch...finally
格式:
try {
需要检测的代码;
}
catch(异常类 变量) {
异常处理代码;
}
...
finally {
一定会执行的代码;//释放资源,但是1.7版本后不用finally也可以释放资源
}
可以有下面三种搭配形式:
**try...catch(...)
**try...finally
**try...catch(...)...finally
B:抛出 throws throw
throws:用于标识函数暴露出的异常。thorws用在函数上,后面跟异常类名(可以由多个,用,隔开)。
throw:用于抛出异常对象。throw用在函数内,后面跟异常对象。
C:到底用谁?
**你能处理,建议处理。try...catch...finally
**你处理不了,抛出。
D:自定义异常
自定义类继承Exception或者其子类(RuntimeException)
class MyException extends Exception{
MyException(){}
MyException(Stirng message){
super(message); //将信息传递给父类,调用父类封装好的构造方法
}
}
class Student {
public void giveAge(int age) throws MyException
(if(age>40 || age<0) {
//throw new MyExcetpion("建议不学了");
MyExcepiont my = new MyExcetpion("建议不学了");
throw my;
}
else {
System.out.println("可以学习Java");
}
}
}
E:RuntimeException和Exception
区别:RuntimeException就是要你改代码的。你可以不处理。
----------
异常 : (1)就是程序运行过程中,遇到了问题,这就叫异常。
(2)异常的体系
Throwable 其实应该分三种
Error 通常出现重大问题如:运行的类不存在或者内存溢出等。不编写针对代码对其处理。
Exception 除了 RuntimeException 和其所有子类,其他所有的异常类都是在编译的时候必须要处理的
要么try,要么抛
RuntimeException
RuntimeException 和其所有的子类,都不会在编译的时候报异常,而是在运行时报异常,这时候我们就需要回头看看我
们的代码是否有问题,比如角标越界,空指针等
(3)Throwable
A:getMessage() :返回此 throwable 的详细消息字符串。
class Throwable {
String detailMessage;
Throwable(){}
Throwable(String message) {
this.detailMessage = message;
}
public String getMessage() {
return detailMessage;
}
}
B:toString():获取异常类名和异常信息,返回字符串。
C:printStackTrace():获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
(4)处理异常处理方式:
A:try...catch...finally
格式:
try {
需要检测的代码;
}
catch(异常类 变量) {
异常处理代码;
}
...
finally {
一定会执行的代码;//释放资源,但是1.7版本后不用finally也可以释放资源
}
可以有下面三种搭配形式:
**try...catch(...)
**try...finally
**try...catch(...)...finally
B:抛出 throws throw
throws:用于标识函数暴露出的异常。thorws用在函数上,后面跟异常类名(可以由多个,用,隔开)。
throw:用于抛出异常对象。throw用在函数内,后面跟异常对象。
C:到底用谁?
**你能处理,建议处理。try...catch...finally
**你处理不了,抛出。
D:自定义异常
自定义类继承Exception或者其子类(RuntimeException)
class MyException extends Exception{
MyException(){}
MyException(Stirng message){
super(message); //将信息传递给父类,调用父类封装好的构造方法
}
}
class Student {
public void giveAge(int age) throws MyException
(if(age>40 || age<0) {
//throw new MyExcetpion("建议不学了");
MyExcepiont my = new MyExcetpion("建议不学了");
throw my;
}
else {
System.out.println("可以学习Java");
}
}
}
E:RuntimeException和Exception
区别:RuntimeException就是要你改代码的。你可以不处理。
相关文章推荐
- 黑马程序员--Java基础学习笔记【异常处理】
- 黑马程序员 JAVA学习笔记 ——— 异常
- 黑马程序员java学习—异常
- 黑马程序员_java学习之异常处理
- 黑马程序员—Java基础---异常体系学习总结
- 黑马程序员_关于java异常机制的学习
- 黑马程序员 Java基础学习笔记11 异常
- 黑马程序员——java基础学习(异常)
- 黑马程序员--Java学习笔记之面向对象思想(多态、内部类、匿名内部类、异常类)
- 黑马程序员 java中关于异常的学习日志
- 黑马程序员 java学习笔记 Day1:异常
- 黑马程序员-学习日记_JAVA中异常
- 黑马程序员java学习笔记——内部类、异常、包
- java 异常处理 黑马程序员学习笔记(6)
- 黑马程序员---- Java学习笔记:1.异常 2.集合
- 黑马程序员:Java基础学习——异常
- 黑马程序员:java学习要点-内部类和异常
- 黑马程序员Java学习日记(3)异常,String,多线程
- 黑马程序员________Java中异常机制的学习思考
- 黑马程序员—java基础学习--异常(exception)