首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

java的异常处理机制

2014-01-26 
java的异常处理机制书中有个例子,请看: class MyStringException extends Exception { private int len My

java的异常处理机制

书中有个例子,请看:
class MyStringException extends Exception
{
private int len;
MyStringException(char str[])
{len = str.length;
}

public String toString()
{
return("您的字符串长度为" + len + ",超出默认字符串长度");
}
}

class MyString
{
private char name[] = new char[10]; //定义字符数组
MyString(char i_name[]) throws MyStringException //构造函数
{
if(i_name.length > 4)
throw new MyStringException(i_name);
System.arraycopy(i_name,0,name,0,i_name.length);
}

public void showData()
{
...
}
}
______________________________________________________________________________________

请问这一句:
MyString(char i_name[]) throws MyStringException //构造函数
{
if(i_name.length > 4)
throw new MyStringException(i_name);
System.arraycopy(i_name,0,name,0,i_name.length);
}

既然是构造函数throws是什么意思?
throw new MyStringException(i_name); 这一句的throw又代表什么呢?
————————————————————————————————————————————————
throw的格式
返回数据类型 方法名称(自变量串行)throws 异常类
{
...
}

以上为什么都和这个格式不同呢!!
 

------解决方法--------------------------------------------------------
先去看看java的异常处理机制吧,这是最基础的概念了,推荐《Thinking in Java》
------解决方法--------------------------------------------------------
throws MyStringException 是表示这个方法【可能】会抛出这个异常,调用这个方法的类必须
catch或者也声明抛出这个异常(RuntimeException的子类异常可以不声明)
------解决方法--------------------------------------------------------