JAVA练手--异常
1. 基本的
public static void main(String[] args) {
//1. try catch基本用法
{
try{
int[] intA = new int[2];
intA[30] = 5;
}catch(ArrayIndexOutOfBoundsException e){
//在这里捕获到,但是并没有抛出去
System.out.print(e);
}
}
}
结果:
java.lang.ArrayIndexOutOfBoundsException: 30
2. throw
public static void main(String[] args) {
try{
throw new IOException();
} catch(IOException e){
System.out.println("hello");
e.printStackTrace();
}
}
结果:
hello
java.io.IOException //这一句和下面一句都是e.printStackTrace();打印出来的
at tet.kk.main(kk.java:10)
3. 异常处理方法
public static void main(String[] args) {
try{
throw new Exception("My Exception");
}catch(Exception e){
System.out.println("getMessage : "+e.getMessage());
System.out.println("getLocalizedMessage: "+e.getLocalizedMessage());
System.out.println("getStackTrace : "+e.getStackTrace());
System.out.println("getCause : "+e.getCause());
System.out.print("printStackTrace :");
e.printStackTrace(); }
}
结果:
getMessage : My Exception
getLocalizedMessage: My Exception
getStackTrace : [Ljava.lang.StackTraceElement;@6d06d69c
getCause : null
printStackTrace :java.lang.Exception: My Exception
at tet.kk.main(kk.java:10)
4. Finally的用法
public void step1() { for(int i=0;i<5;i++){
try{
step2(i);
}catch(ArithmeticException e){
System.out.println("接收到抛过来的异常,不再往外抛了"+e.getMessage());
}catch(Exception e){
System.out.println("接收到抛过来的异常,接着往外抛"+e.getMessage());
new Exception(e.getMessage());
}
finally{
System.out.println("finally i= "+i+";");
} }
}
public static void main(String[] args) {
new kk().step1();
} //从runtime的异常中随便拿了两个出来测试
void step2(int i) throws ArithmeticException, UnsupportedOperationException{
//System.out.println(i);
if(i==2){
System.out.println("i=2,不进行处理,抛出去");
throw new ArithmeticException("i=2, step2测试");
}else if(i==3){
System.out.println("i=3,不进行处理,抛出去");
throw new UnsupportedOperationException("i=3, step2测试");
}
}
结果:
finally i= 0;
finally i= 1;
i=2,不进行处理,抛出去
接收到抛过来的异常,不再往外抛了i=2, step2测试
finally i= 2;
i=3,不进行处理,抛出去
接收到抛过来的异常,接着往外抛i=3, step2测试
finally i= 3;
finally i= 4;
JAVA练手--异常的更多相关文章
- 20个Java练手项目,献给嗜学如狂的人
给大家推荐一条由浅入深的JAVA学习路径,首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE 和 SSH 框架学习.最后再通过有趣的练手项目进行巩固. JAVA基础 ...
- 去哪找Java练手项目?
经常有读者在微信上问我: 在学编程的过程中,看了不少书.视频课程,但是看完.听完之后感觉还是不会编程,想找一些项目来练手,但是不知道去哪儿找? 类似的问题,有不少读者问,估计是大部分人的困惑. 练手项 ...
- java练手 公约数和公倍数
Problem D 公约数和公倍数 时间限制:1000 ms | 内存限制:65535 KB 描述 小明被一个问题给难住了,现在需要你帮帮忙.问题是:给出两个正整数,求出它们的最大公约数和最小 ...
- java练手 韩信点兵
Problem C 韩信点兵 时间限制:3000 ms | 内存限制:65535 KB 描述 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排.五人一排.七人一排地变换队 ...
- java 练手 Fibonacci数
Problem B Fibonacci数 时间限制:3000 ms | 内存限制:65535 KB 描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列 ...
- java 练手 谁是最好的Coder
Problem A 谁是最好的Coder 时间限制:1000 ms | 内存限制:65535 KB 描述 计科班有很多Coder,帅帅想知道自己是不是综合实力最强的coder. 帅帅喜欢帅,所 ...
- 极简易版专家聊天程序--JAVA练手
呵呵,用JAVA包开发SOCKET连接,是很简单的呢~~~ DailyAdviceServer.java import java.io.*; import java.net.*; public cla ...
- JAVA练手--数组
//数组 public static void main(String[] args) { //1. 数组排序和查找 { int[] intA = {5, 4, 2, 3, 1}; String[] ...
- JAVA练手--文件操作
1. File类 主要作用:用于文件和文件夹的创建.查找.删除等操作 public static void main(String[] args) throws IOException { File ...
随机推荐
- .Net面试经验,从北京到杭州
首先简单说下,本人小本,目前大四软件工程专业,大三阴差阳错地选了.Net方向,也是从大三开始接触.Net.自认为在学生中.net基础还可以,嘿嘿,吹一下. 大四第一学期学校安排去北京培训,培训了两个月 ...
- wpf(怎么跨线程访问wpf控件)
在编写代码时,我们经常会碰到一些子线程中处理完的信息,需要通知另一个线程(我这边处理完了,该你了). 但是当我们通知WPF的UI线程时需要用到Dispatcher. 首先我们需要想好在UI控件上需要显 ...
- Devexpress treelist 控件属性大全
属性列表 1.OptionsSelection: EnableAppearanceForcusedCell:选中的Cell的Appearance设置是否可用.默认为True: EnableAppear ...
- cesium编程中级(一)添加示例到Sandcastle
cesium编程中级(一)添加示例到Sandcastle 添加示例到Sandcastle在cesium编程入门(七)3D Tiles,模型旋转中提到过,这里是一份完整的说明 创建例子 开启node服务 ...
- k8s service
Service也是k8s的最小操作单元,是真实应用服务的抽象 Service通常用来将浮动的资源与后端真实提供服务的容器进行关联 Service对外表现为一个单一的访问接口,外部不需要了解后端的规模与 ...
- “全栈2019”Java异常第十章:throw与throws区别详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- IntelliJ IDEA 配置JSP & Servlet开发环境
首先我们要安装和配置好JAVA和TOMCAT,这里不再详细描述 下载地址: JAVA:https://www.oracle.com/technetwork/java/javase/downloads/ ...
- php扩展memcache和memcached区别?以及memcached软件的介绍
引用“http://www.vicenteforever.com/2012/03/memcache-different-memcached/” memcached是一个软件,而PHP包括了memcac ...
- Python Socket 编程示例 Echo Server
简评:我们已经从「Python Socket 编程概览」了解了 socket API 的概述以及客户端和服务器的通信方式,接下来让我们创建第一个客户端和服务器,我们将从一个简单的实现开始,服务器将简单 ...
- Java 自定义注解与注解解析实例
在学习Java之后会遇到很多的注解,有加载JavaBean的注解:@Component,@Service,@Controller:有获取配置文件中数值的注解@Value:有获取Http请求的数据的注解 ...