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 ...
随机推荐
- Asp.NetCore安全验证之JWT
本文只是介绍了下基于AspNetCore自带的System.IdentityModel.Tokens.Jwt.dll工具在项目中Token的应用. 我这里谈到的很浅显就两点: 一,超时时间 二,数据的 ...
- JS 面向对象详解
面向对象详解1 OO1.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- .net core 2.1-----Sql Server数据库初体验
刚开始接触asp.net core,在学习的过程中遇到了一些小问题,在这里记录一下! 在我们项目的开发过程中,肯定会和数据库打交道,所以我尝试了一下用asp.net core链接数据库,并读取表中的数 ...
- GO学习笔记 - 函数名前面是否有输入参数肯定是不一样的!!
在刚接触GO语言时候,我相信你也会有这种困惑,为什么有的函数名前面有输入参数,而一些却没有,它们是否有差别?确实有差别,没有输入参数,是一般的函数:有输入参数,是结构的方法,输入参数叫做“方法接收者” ...
- Android Studio如何用真机调试
1,在真机中设置USB调试模式打开,具体:“设置”->“应用程序”->“开发”->“USB调试”. 2,安装安卓的USB驱动,如果按照不好,那么去下载一个豌豆荚,它会帮你正确安装你的 ...
- 腾讯云服务器部署 django项目整个流程
CentOS7下部署Django项目详细操作步骤 前记:购买腾讯云服务器,配置自选,当然新用户免费体验半个月,我选择的系统是centos7系统版本, 接下来我们来看整个配置项目流程. 部署是基于:ce ...
- java异常术语
.检查性异常: 不处理编译不能通过 .非检查性异常:不处理编译可以通过,如果有抛出直接抛到控制台(所有RuntimeException的派生类都是非检查型异常) .非运行时异常: 就是检查性异常4.运 ...
- dbus-launch(转)
*NAME* dbus-launch - Utility to start a message bus from a shell script dbus-launch - 从shell脚本启动一个消息 ...
- scrapy实战2,使用内置的xpath,re和css提取值
以伯乐在线文章为爬取目标blog.jobbole.com,发现在"最新文章"选项中可看到所有文章 一般来说,可以用scrapy中自带的xpath或者css来提取数据,定义在 ...
- git命令合集及github的克隆推送
安装git 初始化仓库 提交相关 撤销相关 远程推送 分支相关 其他 遇到的错误 github的克隆上传 此文章只是对命令的一个统计,起备忘和复习git只是的作用,不建议从没接触过git的同学通过它来 ...