Java try catch
class FuShuIndexException extends Exception
{
FuShuIndexException()
{} FuShuIndexException(String msg)
{
super(msg);
}
} class Demo
{
public int method(int[] arr,int index)//throws NullPointerException,FuShuIndexException
{
if(arr==null)
throw new NullPointerException("没有任何数组实体");
if(index<0)
throw new FuShuIndexException(); return arr[index];
}
} class ExceptionDemo4
{
public static void main(String[] args)
{
int[] arr = new int[3];
Demo d = new Demo();
try
{
int num = d.method(null,-1);
System.out.println("num="+num);
return;
} catch(NullPointerException e)
{
System.out.println(e.toString());
return;
}
catch (FuShuIndexException e)
{
System.out.println("message:"+e.getMessage());
System.out.println("string:"+e.toString()); e.printStackTrace();//jvm默认的异常处理机制就是调用异常对象的这个方法。 System.out.println("负数角标异常!!!!");
}
/*
catch(Exception e) //多catch父类的catch放在最下面。
{
System.out.println(e);
}
finally //一定会执行的代码
{
System.out.println("finally");
}
*/
System.out.println("over");
} } /*
try catch finally 代码块组合特点: 1,
try catch finally 2,
try catch(多个)当没有必要资源需要释放时,可以不用定义finally。 3,
try finally 异常无法直接catch处理,但是资源需要关闭。
*/ class FushuException extends Exception
{
public FushuException(String s)
{
super(s);
}
} class Person
{
int age;
String name;
public Person(String name,int age)
{
this.name = name;
this.age = age;
} public Person()
{ } public int method(int[] arr,int index) throws FushuException
{
if(arr == null)
{
throw new NullPointerException("数组不能为null");
}
if(index < 0)
{
throw new FushuException("数组下标不能为负数");
}
if(index > arr.length)
{
throw new ArrayIndexOutOfBoundsException("数组下标越界 ");
}
return arr[index];
}
} public class FieldDemo
{
public static void main(String[] args) throws FushuException
{ Person person = new Person("Tom", 50);
int[] arr = {1,2,3}; try {
int rel = person.method(arr, -2);
System.out.println(rel);
}
finally
{
System.out.println("finally");
} System.out.println("over"); } }
Java try catch的更多相关文章
- java try(){}catch(){}自动资源释放
从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Manag ...
- Java 多重catch语句的具体使用介绍
某些情况,由单个代码段可能引起多个异常.处理这种情况,你可以定义两个或更多的catch子句,每个子句捕获一种类型的异常.当异常被引发时,每一个catch子句被依次检查,第一个匹配异常类型的子句执行.当 ...
- java try catch finally return执行
public static int testBasic(){ int i = 1; try{ i++; System.out.println("try block, i = "+i ...
- java try catch 与 throws 使用场景以及怎么合理使用?
对于如下场景,给出不同的看法: 其实我更多的疑问在于,自定义的方法里面java api抛出了异常,这个时候,我是需要捕获呢?还是我也继续往上抛. 比如,我这里定义了一个日期处理的方法,有两种对异常的处 ...
- java try catch 异常后还会继续执行吗
catch 中如果你没有再抛出异常 , 那么catch之后的代码是可以继续执行的 , 但是try中 , 报错的那一行代码之后 一直到try结束为止的这一段代码 , 是不会再执行的. ========= ...
- java try·····catch·····异常处理学习
异常处理(又称为错误处理)功能 用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件). try....catch....只是异常处理的一种常用方法 try{ //可能导致异常 ...
- java - try catch finally 用法
try { //执行的代码,其中可能有异常.一旦发现异常,则立即跳到catch执行.否则不会执行catch里面的内容 } catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 ...
- Java try catch语句块中try()的括号中代码作用
了解过Mybatis,都知道DefacltSqlSession是线程不安全的.每次执行查询都需要新建一个sqlSession.因此官方给的建议写法如下: Mybatis3 从 SqlSessionFa ...
- Java如何使用catch来处理异常?
在Java编程中,如何使用catch块来处理异常? 此示例显示如何使用catch来处理异常. package com.yiibai; public class UseOfCatch { public ...
随机推荐
- 加法变乘法——第六届蓝桥杯C语言B组(省赛)第六题
原创 加法变乘法 我们都知道:1+2+3+ ... + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015 比如:1+2+3+...+10*11+12+...+27*28+ ...
- Python学习笔记——常用的内置函数
一.yield def EricReadlines(): seek = 0 while True: with open('D:/temp.txt','r') as f: f.seek(seek) da ...
- 【8086汇编-Day2】dosbox实验环境配置及测试
我学习汇编用的是王爽的<汇编语言>第三版,书中是以8086处理器为例,是工作在实模式下的,而当下的个人电脑处理器都是工作在保护模式下的.所以需要一个虚拟的工作在实模式下的处理器,这里主要用 ...
- 20155318Java课堂实践20170510
20155318Java课堂实践20170510 修改教材P98 Score2.java 让执行结果数组填充是自己的学号:提交在IDEA或命令行中运行结查截图,加上学号水印,没学号的不给成绩 代码 p ...
- DataGrid中的DataGridCheckBoxColumn用法 ..
<my:DataGridCheckBoxColumn Header=" /> private void btnDeleteNote_Click(object sender, Ro ...
- WPF GDI+字符串绘制成图片(一)
原文:WPF GDI+字符串绘制成图片(一) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83 ...
- [BZOJ4383][POI2015] Pustynia-[线段树+dp+拓扑排序]
Description 给定一个长度为n的正整数序列a,每个数都在1到10^9范围内,告诉你其中s个数,并给出m条信息,每条信息包含三个数l,r,k以及接下来k个正整数,表示a[l],a[l+1],. ...
- 图论-求有向图的强连通分量(Kosaraju算法)
求有向图的强连通分量 Kosaraju算法可以求出有向图中的强连通分量个数,并且对分属于不同强连通分量的点进行标记. (1) 第一次对图G进行DFS遍历,并在遍历过程中,记录每一个点的退出顺序 ...
- Block 在 ARC 下的拷贝
前言 现在有一种说法,是开启arc选项时,已经没有栈上的block了,所以所有的block都不需要copy来拷贝到堆上了.那么这个说法正确与否呢? 结论是这个说法必须是错误的,首先的一点就是arc只是 ...
- 原生与JS交互 iOS
前言 Hybrid App(混合模式移动应用)是指介于web-app.native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势” ...