String freiends[] = {"lisa","nancy","kessy"};
error是系统错误,程序员无法捕获这些错误。
Exception:包含RuntimeException(这个异常可以捕获也可以不捕获,没有错误程序依旧会运行)
error是系统错误,程序员无法捕获这些错误。
Exception:包含RuntimeException(这个异常可以捕获也可以不捕获,没有错误程序依旧会运行)
throw new ArithmeticException();
如果抛出的是IOException(),则必须对其进行处理;throw new ArithmeticException()
若抛出的是ArithmeticException(),如有对应的错误则处理,没有错误程序依然会继续的运行
而前者没有遇到错误的异常的时候则会不能通过编译。
throw 表示抛出异常;后面加一个对象。
throws:throws IOException表示这里不处理,调给调用者进行处理。如果在public static void main(String[] args) throws IOException
表示调给JVM进行处理。throws的类似的方法类似于try{}catch{}处理机制。
抛给上级层层处理。(lesson52的司令的例子)
表示调给JVM进行处理。throws的类似的方法类似于try{}catch{}处理机制。
抛给上级层层处理。(lesson52的司令的例子)
try {}catch{} try{} catch{} finally{}最后的部分一定要执行。
为什么使用finally?
answer:达到一种初始化状态?通过例子,可以知道通过finally来达到关闭程序的目的,释放内存
为什么使用finally?
answer:达到一种初始化状态?通过例子,可以知道通过finally来达到关闭程序的目的,释放内存
lesson 54:
class B extends Exception{
public B(Stirng name){
super(name);
}
}//自定义的异常
强烈的建议:(lesson55)
对throws出的所有异常进行处理;
如果一个方法内部已经对A异常进行了处理,则就不要再throws了
强烈的建议:(lesson55)
对throws出的所有异常进行处理;
如果一个方法内部已经对A异常进行了处理,则就不要再throws了
class A extends Exception {
}
class B extends A
{}
则在下面的的catch语句中,要先对子类的异常进行处理,再对父类的异常进行处理,代码如下:
catch(B bb)
{}
catch (A aa)
{}
不能先catch(A aa){}再catch(B bb){}
}
class B extends A
{}
则在下面的的catch语句中,要先对子类的异常进行处理,再对父类的异常进行处理,代码如下:
catch(B bb)
{}
catch (A aa)
{}
不能先catch(A aa){}再catch(B bb){}