标签:col 日志 标识 main 参数 关系 str 特定 owa
package demo02; import java.util.Objects; public class Demo01 { public static void main(String[] args) { int [] array = {1,2,3,4}; int [] array1 = null; int i = method(array1, 1); System.out.println(i); } private static int method(int[] array,int index) { //判断此参数 是否为null Objects.requireNonNull(array); //判断 索引是否越界 if (index<0||index >array.length-1){ /* 判断条件如果满足,当执行完throw抛出异常对象后,方法已经无法继续运算。 这时就会结束当前方法的执行,并将异常告知给调用者。这时就需要通过异常来解决。 */ throw new IndexOutOfBoundsException("索引越界异常"); } return array[index]; } }
执行结果
Exception in thread "main" java.lang.NullPointerException at java.base/java.util.Objects.requireNonNull(Objects.java:221) at demo02.Demo01.method(Demo01.java:16) at demo02.Demo01.main(Demo01.java:9)
package demo02; import java.io.FileNotFoundException; import java.io.IOException; public class Demo02 { // 调用了一个声明异常的方法,我们就必须处理异常,要么继续抛出throws 要么就是自己处理try--catch public static void main(String[] args) throws IOException { String s = "b.txt"; method(s); } // 若该方法抛出多种异常,那么在throws后面也要写多个异常类,用逗号隔开。如果抛出的多个异常有子父类关系,直接声明父类即可。 private static void method(String s) throws IOException { if (!s.endsWith(".txt")) { throw new IOException("文件后缀不对"); } // 我假设 如果不是 a.txt 认为 该文件不存在 是一个错误 也就是异常 throw if (!"a.txt".equals(s)) { throw new FileNotFoundException("文件找不到异常"); } System.out.println("后续代码"); } }
执行结果
Exception in thread "main" java.io.FileNotFoundException: 文件找不到异常 at demo02.Demo02.method(Demo02.java:20) at demo02.Demo02.main(Demo02.java:10)
try{ 编写可能会出现异常的代码 }catch(异常类型 e){ 处理异常的代码 //记录日志/打印异常信息/继续抛出异常 }
package demo02; import java.io.FileNotFoundException; import java.io.IOException; public class Demo02 { // 调用了一个声明异常的方法,我们就必须处理异常,要么继续抛出throws 要么就是自己处理try--catch public static void main(String[] args) { String s = "b.txt"; try { //编写可能会出现异常的代码 method(s); } catch (IOException e) { //处理异常的代码 e.printStackTrace(); } System.out.println("后续代码"); } // 若该方法抛出多种异常,那么在throws后面也要写多个异常类,用逗号隔开。如果抛出的多个异常有子父类关系,直接声明父类即可。 private static void method(String s) throws IOException { if (!s.endsWith(".txt")) { throw new IOException("文件后缀不对"); } // 我假设 如果不是 a.txt 认为 该文件不存在 是一个错误 也就是异常 throw if (!"a.txt".equals(s)) { throw new FileNotFoundException("文件找不到异常"); } System.out.println("后续代码"); } }
执行结果
后续代码 java.io.FileNotFoundException: 文件找不到异常 at demo02.Demo02.method(Demo02.java:27) at demo02.Demo02.main(Demo02.java:12)
try{ 编写可能会出现异常的代码 }catch(异常类型A e){ 当try中出现A类型异常,就用该catch来捕获. 处理异常的代码 //记录日志/打印异常信息/继续抛出异常 }catch(异常类型B e){ 当try中出现B类型异常,就用该catch来捕获. 处理异常的代码 //记录日志/打印异常信息/继续抛出异常 }
注意:
标签:col 日志 标识 main 参数 关系 str 特定 owa
原文地址:https://www.cnblogs.com/wurengen/p/10924968.html