自定义异常类(两个数相加,若其中一个是负数,或两个加起来是负数,抛出异常)
class AddException extends Exception{ //声明异常类
String message;
public AddException(int m,int n){
message=m+"是负数或"+n+"是负数或"+m+n+"是负数,不符合要求。";
}
public String getString(){
return message;
}
}
class Add{
public void add(int m,int n)throws AddException{ //异常的抛出
if(m<=0||n<=0||m+n<=0){
throw new AddException(m,n);
}
int sum=m+n;
System.out.println("值是"+sum);
}
}
public class Main{
public static void main(String args[]) {
Add a=new Add();
try{ //异常的处理
a.add(1,1);
a.add(1,2);
a.add(-1,1);
System.out.println("到不了这一行");
}catch (AddException e){ //在catch后面也可以搞一个finally,最后不管有没有异常都要执行
System.out.println(e.getString());
}
}
}
//注意:异常可以多次抛出,但最终必须要被捕获
public class Test {
static void go() throws NegativeArraySizeException {
int[] a = new int[-1];
}
static void hi() throws NegativeArraySizeException {
go();
}
public static void main(String[] args) {
try {
hi();
} catch (NegativeArraySizeException e) {
System.out.println("捕获来自远方的异常");
}
}
}
本文来自博客园,作者:{李浩正},转载请注明原文链接:https://www.cnblogs.com/hzzzz/p/16268027.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通