异常

Ctrl+O在java源码里查找

printStackTrace

平死打可催死

异常和位置

getMessage()

給特么C级

原因

出现错误就创建对象

异常包含了错误的类型,愿意以及位置

异常的体系结构:

Throwable(最顶层)

Error:出现不能处理的严重问题

Exception:可以处理的问题

Jvm处理异常的方式

如果出现异常我们没有处理,jvm会帮我们进行处理,他会把异常的类型,原因还有位置显示在命令行并且还终止了程序,异常后面的代码不在执行.

·异常处理的方式:

o捕获处理

·try…catch语句

try{

有可能出错的代码

*出现了异常就创建对象

}catch(异常对象){

*代码出现异常运行

*处理异常

}

o抛出去

·当我们不想处理异常,或者无法解决异常,就抛出异常

谁调用方法谁处理异常

·如何处理多个异常

o可以使用多个try.. .catch语句

o使用一个try多个catch

o多个catch之间可以有子父类关系,但是必须放在子类后面

o平级之间没有顺序关系

·Throwable

oString

getMessage();原因

oStringtoString();类型和原因

ovoid printStackTrace();类型原因和位置

·finally

o格式:

try{

}catch{

}finally{

不管程序怎么走,都会执行这里

}

o快捷键:

右击-->Surround With -->Try/catch block

·异常的分类

o运行时异常

·RuntimeException的子类就是运行时异常,在编译时期可以选择处理或者不处理

o编译时异常

·Exception的子类,非RuntimeException的子类

·在编译时,必须处理

·自定义异常

othrows:处理异常的一种方式,把异常抛出,由调用者来处理

othrow:制造异常的方式,并且结束方法

o如何定义:

·写一个类去继承Exception或者RuntimeException,如何实现多个构造即可

·阶乘

5!=5*4*3*2*1;

5!=5*(5-1)!

4!=4*(4-1)!

3=3*(3-1)!

o递归:

·把打问题折成很多的小问题.

o注意事项:

·递归一定要有出口,内存溢出

·递归次数不宜过多,内存溢出

ze:1������@



异常_第1张图片

你可能感兴趣的:(异常)