手机网站制作推广定制,wordpress上传doc文件大小,房地产客户管理系统有哪些,小红书怎么推广异常机制
三种类型
检查型异常#xff1a;程序员无法预见的运行时异常#xff1a;在编译时会被忽略错误ERROR#xff1a;错误在代码中被忽略#xff0c;在编译时检查不到
异常处理机制
抛出异常捕获异常异常处理的五个关键字#xff1a;try#xff0c;catch#xff…异常机制
三种类型
检查型异常程序员无法预见的运行时异常在编译时会被忽略错误ERROR错误在代码中被忽略在编译时检查不到
异常处理机制
抛出异常捕获异常异常处理的五个关键字trycatchfinallythrowthrows
以下为这五个关键词的使用方法
package exception;public class Demo02 {public static void main(String[] args) {//假设要捕获多个异常从小到大去写try {new Demo02().a();}catch (Error e){//catch(想要捕获的异常类型) 捕获异常System.out.println(ERROR);}catch (Exception e){System.out.println(EXCEPTION);}catch (Throwable e){System.out.println(THROWABLE);}finally {System.out.println(finally);}}public void a() {b();}public void b() {a();}
}package exception;import org.w3c.dom.ls.LSOutput;public class Demo03 {public static void main(String[] args) {int a1;int b0;try {System.out.println(a/b);} catch (Exception e) {throw new RuntimeException(e);} finally {}}}package exception;public class Demo01 {public static void main(String[] args) {new Demo01().test(1,0);}//假设这方法中处理不了这个异常方法上抛出异常用throwspublic void test(int a,int b) throws ArithmeticException {if(b0){throw new ArithmeticException();}System.out.println(a/b);}}
/*int a1;int b0;try{//try监控区域if(b0){//throw throws用于方法throw new ArithmeticException();//主动抛出异常}System.out.println(a/b);}catch (ArithmeticException e){System.out.println(程序出现异常变量b不能为0);} finally {//善后工作System.out.println(finally);}//finally 可以不要finally*/自定义异常
步骤
创建自定义异常类在方法中通过throw关键字来抛出异常对象如果当前抛出异常的方法中处理异常可以使用try-catch语句捕获并处理否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常继续进行下一步操作在出现异常方法的调用者中捕获并处理异常
package exception;
//自定义异常
public class MyException extends Exception{//传递数字10private int detail;public MyException(int a){this.detaila;}//toString:异常的打印信息Overridepublic String toString() {return Demo04{ detail detail };}
}我们来测试下
package exception;public class Test {static void test(int a) throws MyException {System.out.println(传递的参数为a);if(a10){throw new MyException(a);//抛出}System.out.println(OK);}public static void main(String[] args) {try {test(1);} catch (MyException e) {System.out.println(MyExceptione);}}}总结
处理运行时异常时采用逻辑去合理规避同时辅助try-catch处理在多重catch块后面可以加一个catchException来处理可能会被遗漏的异常对于不确定的代码也可以加try-catch处理潜在异常尽量去处理异常切忌只是简单的调用printStackTrace去打印输出具体如何处理异常要根据不同的业务需求和异常类型去决定尽量添加finally语句块去释放占用的资源