标签:2021.11 07 MyException 09 detail catch new 异常 throw
Java异常处理
Java把异常当作对象来处理,基于java.lang.Throwable作为超类
分为 Error 和Exception, exception有runtime和非runtime异常。
1. 异常处理机制
抛出异常---捕获异常
快捷 键:直接包裹代码块 Ctrl + Alt + T
关键字: try, catch, finally, throw, throws
try{
//监控的代码块
}catch(XXXException e){//想要捕获的异常类型
//捕获异常后的操作
}finally{
//处理善后工作
}
catch可以写多个,把权限最大的异常写到最后,
//catch 处理:
catch(Exception e){
System.exit(1);//程序结束
e.printStackTrace();//打印错误栈信息
}
主动抛出异常(throw和throws的区别,一个在方法中,一个在方法声明中使用
//直接抛出异常,没法处理
if (b ==0){
throw new ArithmeicException();//throw,然后new一个异常
}
//向上给方法,方法抛出异常,在调用方法时进行try catch 包装处理。
public void test(int a, int b) throws ArithmeticException{
if (b ==0){
throw new ArithmeicException();//throw,然后new一个异常
}
}
2. 自定义异常
public class MyException extends Exception{
private int detail;
public MyException(int detail) {
this.detail = detail;
}
@Override
public String toString() {
return "MyException{" +
"detail=" + detail +
'}';
}
}
//后面调用时
catch(MyException e){
System.out.println(e)//e就是自己写的toString方法里的东西
}
标签:2021.11,07,MyException,09,detail,catch,new,异常,throw 来源: https://www.cnblogs.com/Roy2048/p/15531500.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。