您的位置:首页 > 编程语言 > Java开发

java学习笔记--异常和包

2015-09-27 14:03 543 查看
//非运行时异常,必须通过throws声明或try处理
class ExceptionOne extends Exception
{
ExceptionOne(String msg)
{
super(msg);
}
}

//运行时异常,可以通过throws声明或try处理,也可以不作处理直接将控制权交给虚拟机
class ExceptionTwo extends RuntimeException
{
ExceptionTwo(String msg)
{
super(msg);
}
}

class ExceptionTest
{
//非运行时异常
//throws声明
public void doExcceptionOneDeclare() throws ExceptionOne
{
throw new ExceptionOne("one wrong");
}

//调用声明了异常的函数时可以用try...catch块处理
public void doExceptionOneTry()
{
try
{
doExcceptionOneDeclare();
}
catch(ExceptionOne e)
{
e.printStackTrace();
}
}

//调用声明了异常的函数时也可以直接声明不处理
public void doExceptionOneDeclareCall() throws ExceptionOne
{
doExcceptionOneDeclare();
}

//运行时异常
public void doExceptionTwo()// throws ExceptionTwo,可写可不写
{
throw new ExceptionTwo("two wrong");
}

public void doExceptionTwoCall()// throws ExceptionTwo,可写可不写
{
doExceptionTwo();
}

public void doExceptionTwoTryCall()
{
//try...catch块可用可不用
try
{
doExceptionTwo();
}
catch(ExceptionTwo e)
{
e.printStackTrace();
}
}
}
<pre name="code" class="java">//finally块是一定会执行的
class test
{
public static void main(String[] args)
{
ExceptionTest et = new ExceptionTest();

try
{
et.doExcceptionOneDeclare();
}
catch(ExceptionOne e)
{
e.printStackTrace();
}
finally
{
System.out.println("this must be execute, one");
}

try
{
et.doExceptionTwo();
}
finally
{
System.out.println("this must be execute, two");
}
}
}



//定义包跟把类文件放在指定文件夹下差不多,编译时记得指定路径,不然要手工创建
//文件夹很麻烦,下面的定义相当于将本文件中定义的类放在./A/B/C/D路径下
package A.B.C.D;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 异常