个人网站备案需要几天,公司网站维护价格表2023,搭建个人网站赚钱,wordpress 用户id异常分为编译时期异常与运行时期异常
编译时期异常运行前必须处理#xff0c;否则代码报错
除了RuntimeException和他的子类#xff0c;其他都是编译时异常
运行时期异常运行时报错#xff0c;一般是由参数传递错误导致的报错 异常的作用#xff1a;
1.异常使用来查询b…异常分为编译时期异常与运行时期异常
编译时期异常运行前必须处理否则代码报错
除了RuntimeException和他的子类其他都是编译时异常
运行时期异常运行时报错一般是由参数传递错误导致的报错 异常的作用
1.异常使用来查询bug的关键参考信息
2.异常可以作为方法内部的一种特殊返回值以便通知调用者底层的执行情况 异常的处理方法
1.虚拟机默认的处理方式
把异常的名称原因出现位置输出在控制台并停止进程 2.自己处理捕获异常
格式
try{ 可能出现的异常的代码;
} catch(异常类名 变量名){ 异常的处理代码;
}
目的代码出现异常时可以继续运行 int[] arr {1, 2, 3, 4, 5};try {//可能出现异常的代码System.out.println(arr[10]);//此处出现了异常。就会在这里创建一个 ArrayIndexOutOfBoundsException对象//new ArrayIndexOutOfBoundsException//拿着这个对象到catch里面的小括号里比哭哭小括号中的变量是否可以接收//如果能接收就表示该异常被捕获执行catch里的代码//执行完毕后继续执行try catch体系下面的代码
} catch (ArrayIndexOutOfBoundsException e) {//如果出现了异常该如何处理System.out.println(索引越界了);
}
System.out.println(?????????); 如果try中可能会遇见多个问题怎么执行
碰到第一个异常就会跳转到catch不会运行try接下来的语句
如果会有多个异常就应该有多个catch接受
如果这些异常存在父子关系的话父类一定要写在下面
3.交给调用者 异常类常用的方法
Throwable的成员方法 //获取异常信息
/* String message e.getMessage();System.out.println(message);*//* //打印异常String s e.toString();System.out.println(s);*///打印异常,仅仅是打印信息不会停止程序运行e.printStackTrace(); 抛出处理
throws
注意写在方法定义出表示声明一个异常告诉调用者使用本方法可能会有哪些异常
public void 方法() throws 异常1异常2.。。{
}
编译时异常必须要写
运行时异常可以不写 public static void main(String[] args) {/** throws* */int[] arr {};try {System.out.println(getMax(arr));} catch (NullPointerException e) {System.out.println(空指针);} catch (ArrayIndexOutOfBoundsException e) {System.out.println(索引越界);}System.out.println(????);}public static int getMax(int[] arr) throws NullPointerException, ArrayIndexOutOfBoundsException {if (arr null) {//手动创建一个异常对象并把这个异常交给调用者处理throw new NullPointerException();}if (arr.length 0) {throw new ArrayIndexOutOfBoundsException();}int max arr[0];for (int i 0; i arr.length; i) {if (arr[i] max) {max arr[i];}}return max;}
} throw
注意写在方法内结束方法手动抛出异常对象交给调用者方法中下面的代码不再执行了
public void 方法(){ throw new 异常();
} 自定义异常
1.定义异常类
2.写继承关系
3.写空参构造
4.带参构造 public class NameFormatException extends RuntimeException{//技巧//NameFormat当前异常名字//Exception表示当前是个异常类//运行时异常RuntimeEcxeption 核心 参数错误导致的问题//编译时异常Exception 核心 提醒程序员检查本地信息public NameFormatException() {}public NameFormatException(String message) {super(message);}
}public void setName(String name) {int len name.length();if (len 3 || len 10) {throw new NameFormatException(name 格式有误);}this.name name;
}