//异常课件——捕获 package class10923; public class yichang1ke { public static void main(String[] args) { // //算术异常 // int i=10/0; //抓住异常 //看是否有异常,如果有异常执行catch,没有异常正常执行try内容 try { //空指针异常 //对象没有被实例化就去调用对象的实例方法 String str=null; str.trim();//空指针异常位置 } //捕获 catch(ArithmeticException e)//可以写多个异常处理,但也可以只写一个异常处理就是catch(Exception e){} { System.out.println("除0异常"); } catch(Exception e)//把异常存放在e中 { //处理 //处理的方式:1.提示给用户。2.记录异常信息,错误信息的日志。3.把异常信息打印到控制台e.printStackTrace(); // e.printStackTrace(); System.out.println("捕获异常="+e.getMessage()); } finally//一定被执行的一段代码 { System.out.println("一定被执行的代码"); } System.out.println("只抓住异常不处理即,如果有异常跳过此异常继续做"); } } //异常总结 //常用异常:Exception(程序级处理,可以由程序处理) //Exception处理机制:抓获 写法:1.最常用:try{}catch(异常类型及子类(直接用Exception) 变量){}——要求catch(Exception 变量)要写在最下层. // 2.在最后一个catch加上一个 finally{}。finally{此处的代码一定被执行,无论程序是否崩溃} // 抛出thow: 在方法中主动抛出异常实例,一般需要在方法名后加throws语句,声明抛出的类型,除了运行时异常RuntimeException // 抛出thows: 定义在方法的后面(生命该方法抛出的异常类型), // //Exception常用方法:getMessage()获取异常信息 // printStacktrace 向控制台打印异常信息 //自定义异常:new Exception("自定义的异常信息") 实例化具有自定义异常信息的实例。 //自定义异常类:必须继承自Exception或他的子类 //使用:传递特定的与业务逻辑有关的异常信息,便于对特定异常进行处理
时间: 2024-10-08 16:47:35