目录
异常说明
异常分为
体系结构
常见的异常类
异常语法
使用分为三种:往上抛、捕获、抛出
语法
try-catch-finally执行流程
异常对象的常用方法
异常类
说明
异常说明
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的
就是有的时候会产生在运行当中的错误
异常分为检查性异常
最具代表的检查性异常是用户错误或问题引起的异常,这时程序程序无法遇见。
运行时异常
运行时异常是可能被程序员避免的一场,与检查性异常相反
运行时异常可以在编译时被忽略
错误
错误不是异常,而是脱离了程序员控制的问题,就是程序员写的代码有问题
体系结构throwable这时是所有异常类的总和:检查异常(Error)和运行时异常(Exception)
但是我们只能捕获运行时异常:Exception
常见的异常类 异常语法 使用分为三种:往上抛、捕获、抛出往上抛
就是当执行的时候有出现了异常,那么这个异常就会往上抛,交给调用者
捕获
就是程序出现异常的时候,我们不是往上跑,而是我们来自己解决这个异常
抛出
就是在某个时候,我们需要程序出现异常,从而来停止程序
注意:不管是往上抛,还是捕获,在使用异常类的时候,都不会对自己不包含的异常进行反应
语法//往上抛,多个异常之间,可以使用“,”来进行分隔 方法头() throws 异常{ 方法体 } //实例 public void abc1() throws Exception,RuntimeException{ //方法体; } //捕获 try{ //可能会出异常的代码块 }catch(异常类 变量名){ //出现异常可能执行的代码 //变量名.异常方法(); }finally{ //在程序之前结束之前,一定会执行的代码体 } //实例 public void abc2(){ try{ int sun=0; //这里0不能作为除数会出现异常,catch捕获到异常,跳转到catch代码块中, System.out.println(10/sun); System.out.println("执行成功"); }catch(Exception E){ //在控制台打印控制信息 E.printStackTrace(); }finally{ System.out.println("程序执行结束"); } } //抛出 // 方式一:throw new 异常类() // 方式二:throw new 异常类("自定义异常信息") //实例 public void abc3(){ //throw new Exception (); throw new Exception ("没有方法体"); }
注意
捕获语法有几种方式:try-catch、try-catch-finally、try-finally、
它之间可以互相的嵌套
如果出现的异常,比定义捕获的异常还要大,那么就会捕获不到异常
try-catch-finally执行流程首先执行try里面的代码,如果出现了异常,并捕获到了那么就会跳转到catch代码块中,然后最后执行finally代码块,如果如果这时程序没有结束,那么就会继续执行try下面的语句 finally并非在最后执行,而是在程序结束之前一定会执行里面的代码块
异常对象的常用方法String getMessage():返回异常消息的字符串
void PrintStackTrace():控制台打印异常消息
String toString():返回简略的异常信息
异常类 说明有的时候有在java异常类当中没有我们需要的异常类的时候
就可以自定义异常类了
代码继承现有的异常结构:RuntimeExceptiona(不用处理)、Exception(需要处理)
提供重载的构造器
public class 类名 extends Exception { public 类名(){ } public 类名(String message){ super(messsage) } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)