前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java 异常处理

Java 异常处理

作者头像
Michael阿明
发布于 2022-11-26 02:29:48
发布于 2022-11-26 02:29:48
46600
代码可运行
举报
运行总次数:0
代码可运行

文章目录

1. 异常例子

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class TestTryCatch {
    public static void main(String[] args){
        int arr[] = new int[5];
        arr[7] = 10;
        System.out.println("end!!!");
    }
}

输出:(越界)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
	at TestTryCatch.main(TestTryCatch.java:4)

进程已结束,退出代码1

2. 异常处理

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class TestTryCatch {
    public static void main(String[] args){
        try {
            int arr[] = new int[5];
            arr[7] = 10;
        }
        catch (ArrayIndexOutOfBoundsException e){
            System.out.println("数组范围越界!");
            System.out.println("异常:"+e);
        }
        finally {
            System.out.println("一定会执行finally语句块");
        }
        System.out.println("end!!!");
    }
}

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
数组范围越界!
异常:java.lang.ArrayIndexOutOfBoundsException: 7
一定会执行finally语句块
end!!!

3. 抛出异常

语法:throw 异常类实例对象;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int a = 5, b = 0;
try{
    if(b == 0)
        throw new ArithmeticException("一个算术异常,除数0");
    else
        System.out.println(a+"/"+b+"="+ a/b);
}
catch(ArithmeticException e){
    System.out.println("抛出异常:"+e);
}

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
抛出异常:java.lang.ArithmeticException: 一个算术异常,除数0
  • 对方法进行异常抛出
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void add(int a, int b) throws Exception {
        int c = a/b;
        System.out.println(a+"/"+b+"="+c);
    }
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TestTryCatch obj = new TestTryCatch();
obj.add(4, 0);

输出:(报错)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java: 未报告的异常错误java.lang.Exception; 必须对其进行捕获或声明以便抛出

可见,方法后面跟了 throws 异常1, 异常2...,则 必须 在调用处 处理

改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TestTryCatch obj = new TestTryCatch();
try{
    obj.add(4, 0);
}
catch (Exception e){
    System.out.println("必须处理异常:"+e);
}

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
必须处理异常:java.lang.ArithmeticException: / by zero

4. 编写异常类

语法:(继承 extends Exception 类)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class 异常类名 extends Exception{
	......
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class MyException extends Exception{
    public MyException(String msg){
        // 调用 Exception 类的构造方法,存入异常信息
        super(msg);
    }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try{
    throw new MyException("自定义异常!");
}
catch (Exception e){
    System.out.println(e);
}

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MyException: 自定义异常!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
大学生非数竞赛专题三 (6)
非数专题三 一元积分学 (6) 3.6 定积分的计算 3.17(江苏省2008年竞赛题) 求 \displaystyle \int_{0}^{\frac{\pi}{2}}\sin^{2}x\cos^{2}xdx 【解析】:利用降幂公式以及倍角公式,有 \begin{align*}\displaystyle \int_{0}^{\frac{\pi}{2}}\sin^{2}x\cos^{2}xdx&=\dfrac{1}{4}\int_{0}^{\frac{\pi}{2}}(\sin2x)^{2}\frac{1
用户9628320
2022/11/23
3720
大学生数学竞赛非数专题四(5)
专题四 多元函数积分学 (5) 4.5 曲线积分的计算 ---- 4.14 (江苏省2016年竞赛题) 设 \varGamma 为曲线 y=2^x+1 上从点 A(0,2) 到点 B(1,3) 的一段弧,试着求曲线积分 \displaystyle \int_{\varGamma}e^{xy}(1+xy)dx+e^{xy}x^2dy 【解析】:可以采用曲线积分与路径无关或者直接计算法 【法一】:记 P=e^{xy}(1+xy) , Q=e^{xy}x^2 , \dfrac{\partial Q}{\par
用户9628320
2022/11/14
4260
大学生数学竞赛非数专题三(5)
专题三 一元积分学 (5) 3.5 变限积分的应用 知识点:变限积分的几个公式 3.14 (南京大学1995年竞赛题) 求 \displaystyle\underset{x\rightarrow \infty}{\lim}\sqrt{x}\int_{x}^{x+1}\frac{dt}{\sqrt{t+\sin t+x}} . 解:根据积分的放缩,有 \displaystyle\int_{x}^{x+1}\dfrac{dt}{\sqrt{t+\sin t+x}}\leq \int_{x}^{x+1}\df
用户9628320
2022/11/23
4060
大学生非数竞赛专题四 (1)
非数专题四 多元函数积分学(1) 4.1 二重积分的计算 4.1 (浙江省2001年竞赛题) 计算 \displaystyle \underset{\sqrt{x}+\sqrt{y} \leq 1}{\iint}\sqrt[3]{\sqrt{x}+\sqrt{y}}dxdy . 【解析】:化为先对 y 后 x 的二次积分,有 \begin{align*}\displaystyle \underset{\sqrt{x}+\sqrt{y} \leq 1}{\iint}\sqrt[3]{\sqrt{x}+\s
用户9628320
2022/11/23
6400
大学生数学竞赛非数专题三(4)
今天的题目就到这里了,这两题综合利用了极限的定义,以及积分中值定理,另外还有放缩法,综合性强,大家好好体验,有问题留言,谢谢大家的支持。
用户9628320
2022/11/23
3060
大学生数学竞赛非数专题一(5)
专题一 函数与极限 (5) 1.2.5 利用等价无穷小因子 几个常见的等价无穷小 常见的几个: \Delta\rightarrow 0,\Delta -\sin\Delta-\arcsin \Delta-\tan\Delta-\arctan\Delta-\ln(1+\Delta)-e^{\Delta}-1 (1+\Delta)^{\lambda}-1-\lambda \Delta,1-\cos\Delta-\dfrac{1}{2}\Delta^{2} 例1.19 (莫斯科高等技术学校1977年竞赛题)
用户9628320
2022/11/23
2970
大学生数学竞赛非数专题二(7)
1单调性 2极值 3最值 4凹凸性、拐点 5作函数图像 6渐近线:水平渐近线、铅直渐近线、斜渐近线
用户9628320
2022/11/23
3790
大学生数学竞赛非数专题一(7)
定理2:初等函数在有定义的区间均是连续的 补充一下:闭区间连续函数的几个性质
用户9628320
2022/11/23
3460
大学生非数竞赛专题四 (2)
非数竞赛专题四 多元积分学 (2) 4.2 交换二重积分的次序 4.5 (北京市1994年竞赛题) 设 f(x,y) 是定义在区域 0 \leq x \leq 1,0 \leq y \leq 1 上的二元函数, f(0,0)=0 ,且在 (0,0) 处 f(x,y) 可微,求极限 \lim\limits_{x\rightarrow 0^{+}} \frac{\displaystyle\int_{0}^{x^2}dt\int_{x}^{\sqrt{t}}f(t,u)du}{1-e^{-\frac{x^2}
用户9628320
2022/11/23
2560
大学生数学竞赛非数专题一(3)
有问题的可以找小编,前面四个题目均是应用夹逼定理来做题,后面两个是关于单调有界来做题。
用户9628320
2022/11/23
4260
大学生数学竞赛非数专题二(1)
今天的题目都比较有趣,都是一些常见的套路,证明可导一般要用到连续,而证明导数的存在更重要的是解决左右导数的问题,同时对于极限的求法又是一个关键点。大家可以仔细看看,有问题留言!谢谢
用户9628320
2022/11/23
3750
大学生非数竞赛专题四 (5)
非数专题四 多元函数积分学 (5) 4.5 曲线积分的计算 4.14 (江苏省2016年竞赛题) 设 \varGamma 为曲线 y=2^x+1 上从点 A(0,2) 到点 B(1,3) 的一段弧,试着求曲线积分 \displaystyle \int_{\varGamma}e^{xy}(1+xy)dx+e^{xy}x^2dy 【解析】:可以采用曲线积分与路径无关或者直接计算法 【法一】:记 P=e^{xy}(1+xy0) , Q=e^{xy}x^2 , \dfrac{\partial Q}{\parti
用户9628320
2022/11/23
4480
大学生非数竞赛专题四 (3)
非数专题四 多元函数积分学 (3) 4.3 三重积分的计算 4.8 (南京大学1993年竞赛题) 求 \displaystyle \underset{\Omega}{\iiint}\sqrt{x^2+y^2}dxdydz ,其中 \Omega 是由曲面 z=\sqrt{x^2+y^2} , z=\sqrt{1-x^2-y^2} 所围成的立体 【解析】:可以利用球坐标或者柱坐标进行求解 【法一】:利用球坐标,令 x=r\sin\varphi\cos \theta , y=r\sin\varphi\sin\t
用户9628320
2022/11/23
4360
大学生数学竞赛非数专题一(8)
今天的题目就到这里了,关于介值定理以及零点定理都是常见的套路,一般证明唯一的话,再加上一个单调性就可以,其次证明极限用夹逼准则,注意放缩法的应用,注意左右夹逼的同一性,这个要进行练习。其次还有极限的求法,列方程求解。单调有界准则重要证明的是单调和有界,单调一般时采用函数或者作差或者相除,再利用常见的不等式进行放缩,有界可以利用假设归纳法或者函数法,求它的值的范围。
用户9628320
2022/11/23
3550
大学生数学竞赛非数专题二(4)
今天的题目就到这里了,主要就是中值定理构造函数进行条件计算的问题,注意构造函数的用法,还有函数的连续性的性质,注意最大值以及最小值。其次就是介值定理的应用。谢谢大家的支持。
用户9628320
2022/11/23
4710
大学生数学竞赛非数专题一(4)
有问题的可以找小编。这几个题比较简单,主要就是重要极限的构造问题,希望大家好好体会。
用户9628320
2022/11/23
3580
大学生数学竞赛非数专题四(4)
专题四 多元函数积分学 (4) 4.4 与重积分有关的不等式证明问题 ---- 4.9 (清华大学1985年竞赛题) 设函数 f(x) 在 [0,1] 上连续且单调递减,又 f(x) > 0 ,求证: \frac{\displaystyle\int_{0}^{1}xf^{2}(x)dx}{\displaystyle \int_{0}^{1}xf(x)dx}\leq \frac{\displaystyle\int_{0}^{1}f^{2}(x)dx}{\displaystyle \int_{0}^{1}f(
用户9628320
2022/11/14
3410
大学生非数竞赛专题四 (6)
非数专题四 多元函数积分学 (6) 4.6 格林公式的应用 4.17 (全国大学生2012年决赛题) 设连续可微函数 z=z(x,y) 由方程 F(xz-y,x-yz)=0 (其中 F(u,v) 有连续的偏导数)唯一决定, L 为单位的正向圆周,试求 \displaystyle I=\oint_{L}(xz^2+2yz)dy-(2xz+yz^2)dx 【解析】:记 f(x,y,z)=F(xz-y,x-yz) ,利用隐函数方程求偏导数公式有 \dfrac{\partial z}{\partial x}-\d
用户9628320
2022/11/23
4740
大学生数学竞赛非数专题二(5)
今天的题目就到这里了,这几个题目利用麦克劳林公式以及泰勒展开,综合运用,大家自己好好体验。有问题留言!
用户9628320
2022/11/23
3740
大学生数学竞赛非数专题二(6)
好了,题目就到这里了,注意洛必达应用的条件,以及e的重要极限,注意积累。有问题留言.
用户9628320
2022/11/23
3040
推荐阅读
相关推荐
大学生非数竞赛专题三 (6)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档