×

java异常处理实验报告 异常

简述Java异常处理的过程?java中private Map names=null; 这样调用的时候会出现空指针异常,求如何初始化

admin admin 发表于2022-06-29 07:20:49 浏览112 评论0

抢沙发发表评论

简述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!!“);
           }
     }
}