java怎么写异常

1.如何编写java中的自定义异常类编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程 。常用的编写自定义异常类的模式如下:
public class CustomException extends Exception { //或者继承任何标准异常类
public CustomException() {} //用来创建无参数对象
public CustomException(String message) { //用来创建指定参数对象
super(message); //调用超类构造器
}
}
当然也可选用Throwable作为超类 。其中无参数构造器为创建缺省参数对象提供了方便 。第二个构造器将在创建这个异常对象时提供描述这个异常信息的字符串,通过调用超类构造器向上传递给超类,对超类中的toString()方法中返回的原有信息进行覆盖 。
来讨论一个具体例子 。假设程序中需要验证用户输入的表示年龄的数据必须是正整数值 。我们可以按照以上模式编写这个自定义异常类如下:
public class NegativeAgeException extends Exception {
//或者:extends Throwable
public NegativeAgeException() {}
public NegativeAgeException(String message) {
super(message);
}
}
下面是应用这个自定义异常类的例子:
try{
String ageString = JOptionPane.showInputDialog("Enter your age: ");
if (Integer.parseInt(ageString) < 0)
throw new NegativeAgeException("Please enter a positive age");
else
JOptionPane.showMessageDialog(null, ageString, "Age", 1);
}
catch(NegativeAgeException e){
System.out.println(e);
}
2.在java里面怎么定义异常类用于自己编写的类的异常处理编写异常类 继承Exception
package aa.exception;
public class bbException extends Exception
{
public bbExistsException() {}
public bbException(String message)
{
super(message);
}
}
再在适当的时候抛
throw new bbException("该记录已经存在");
3.Java中,如何进行异常处理处理异常:
try{
可能产生异常的代码
}catch(具体的异常对象){
产生异常了要做什么处理
当然,如果你不处理,那么就可以用throw + 异常对象 的形式抛出
}finally{
不管是否产生异常,都要执行这里的代码
}
用到throw 抛出异常的时候,要在方法的申明处的参数列表后+throws +该方法要抛出的异常类型,可以是多个 。
4.详细描述java是如何处理异常的【java怎么写异常】当出现程序无法控制的外部环境问题(用户提供的文件不存在,文件内容损坏,网络不可用 。)
时,JAVA就会用异常对象来描述 。JAVA中用2种方法处理异常: 1.在发生异常的地方直接处理; 2.将异常抛给调用者,让调用者处理 。
JAVA异常可分为3种: (1)检查性异常:java.lang.Exception (2)运行期异常:java.lang.RuntimeException (3)错误:java.lang.Error 顶层是java.lang.Throwable类,检查性异常,运行期异常,错误都是这个类的子孙类 。java.lang.Exception和java.lang.Error继承自java.lang.Throwable,而java.lang.RuntimeException继承自java.lang.Exception. 检查性异常------程序正确,但因为外在的环境条件不满足引发 。
例如:用户错误及I/O问题----程序试图打开一个并不存在的远程Socket端口 。这不是程序本身的逻辑错误,而很可能是远程机器名字错误(用户拼写错误) 。
对商用软件系统,程序开发者必须考虑并处理这个问题 。JAVA编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译 。
运行期异常------这意味着程序存在bug,如数组越界,0被除,入参不满足规范 。..这类异常需要更改程序来避免,JAVA编译器强制要求处理这类异常 。