简述Java异常处理的过程
java中对处理异常有两个方法,一个是抛出异常,另一个是异常处理.
一 抛出异常
抛出异常就是在需要提示错误的时候,通过使用throw语句来抛出异常.例如:
int a = 1;
int b = 2;
if (a》b)
{
throw new Exception(“a必须比b小“);
}
二 异常处理
异常处理就是使用try catch语句对try块中包围的语句抛出的异常做处理,具体怎么处理要看业务需要.例如:
try
{
.....//try块包围的是一段需要处理的代码
}catch (Exception e)
{
e.printStackTrace();//catch块是对在try块中捕获的异常进行处理,这里是打印错误的堆栈信息
}
一个try块可以跟多个catch块,最后还有个finally块,用来执行try块做完之后需要执行的代码.例如:
try
{
.....
}catch (SQLException se)
{
se.printStackTrace();
}catch (FileNotFoundException fe)
{
fe.printStackTrace();
}catch (Exception e)
{
e.printStackTrace();
}finally
{
....
}
java中private Map> names=null; 这样调用的时候会出现空指针异常,求如何初始化
1.因为你只是 声明了一个对象啊,可以理解为一个虚拟的东东,也可以理解为一个遥控器,此时未给他匹配一个电视机,那么你操作遥控器有作用么?
2.只有创建(new)了以后,才给这个对象分配内存, 这时候就是一个具体的东东,你才能使用他. 此时给他指定了一个电视机,那么你就可以操作遥控器了,而且效果很好.
3.java里创建对象很简单, 就是用new
4.你的这个可以写成
names = new HashMap《String,List《实体》》();
5.谁说private 不能new了?
Java中的异常处理机制的简单原理和应用
Java中的异常处理机制的简单原理和应用 :
java中Throwable这个类可以被作为异常抛出的类,继承它的分为异常Exception和错误Error.
Exception表示程序需要捕捉和处理的的异常;
Error表示系统级别的错误和程序无需处理的。
我们所需要关心的是Exception. Execption可以分为java标准定义的异常和程序员自定义异常2种.
(1)一种是当程序违反了java语规则的时候,JAVA虚拟机就会将发生的错误表示为一个异常.这里语法规则指的是JAVA类库内置的语义检查。
(2)另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是Thowable的子类。
异常处理是与程序执行是并行的.
Try{
//可能发现异常的语句块
}catch(异常类型,e){
//发生异常时候的执行语句块
} finnally{
//不管是否发生异常都执行的语句块
}
以下是一个自定义异常测试类:
package code;
class MyException extends Exception
{
public void f()
{
System.out.println(“this is my Exception!!“);
}
}
public class ExceptionTestTwo {
private int i = 0;
private int j;
ExceptionTestTwo(int x) throws MyException
{
f2();
j = x / i;
}
public void f2() throws MyException
{
System.out.println(“this is My first Exception!!“);
throw new MyException();
}
public static void main(String args)
{
try {
new ExceptionTestTwo(9);
} catch (MyException e2) {
e2.f();
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println(“Finally is first Exception!!“);
}
try {
throw new MyException();
} catch (MyException e1) {
e1.f();
} finally {
System.out.println(“Finally is second Exception!!“);
}
}
}