7-2异常处理----常见异常

这篇博客详细介绍了Java异常处理的体系结构,包括编译时异常和运行时异常。示例代码展示了ArithmeticException、InputMismatchException、NumberFormatException、ClassCastException等常见异常的触发情况,帮助理解异常处理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常见异常

1.java.lang.RuntimeException

  • ClassCastException
  • ArrayIndexOutOfBoundsException
  • NullPointerException
  • ArithmeticException
  • NumberFormatException
  • InputMismatchException
    ……

2. java.io.IOExeption

  • FileNotFoundException
  • EOFException

3 . java.lang.ClassNotFoundException
4.java.lang.InterruptedException
5.java.io.FileNotFoundException
6.java.sql.SQLException

代码:

package test1;
 
import java.io.File;
import java.io.FileInputStream;
import java.util.Date;
import java.util.Scanner;
import org.junit.Test;
 
/*
 * 一、异常体系结构
 * java.lang.Throwable
 *   |-----java.lang.Error:一般不编写针对性的代码进行处理。
 *   |-----java.lang.Exception:可以进行异常的处理
 *    |------编译时异常(checked)
 *      |-----IOException
 *       |-----FileNotFoundException
 *      |-----ClassNotFoundException
 *    |------运行时异常(unchecked,RuntimeException)
 *      |-----NullPointerException
 *      |-----ArrayIndexOutOfBoundsException
 *      |-----ClassCastException
 *      |-----NumberFormatException
 *      |-----InputMismatchException
 *      |-----ArithmeticException
 */
public class ExceptionTest {
  
 //******************以下是编译时异常***************************
 @Test
 public void test7(){
//  File file = new File("hello.txt");
//  FileInputStream fis = new FileInputStream(file);
//  
//  int data = fis.read();
//  while(data != -1){
//   System.out.print((char)data);
//   data = fis.read();
//  }
//  
//  fis.close();
   
 }
  
 //******************以下是运行时异常***************************
 //ArithmeticException
 @Test
 public void test6(){
  int a = 10;
  int b = 0;
  System.out.println(a / b);
 }
  
 //InputMismatchException
 @Test
 public void test5(){
  Scanner scanner = new Scanner(System.in);
  int score = scanner.nextInt();
  System.out.println(score);
   
  scanner.close();
 }
  
 //NumberFormatException
 @Test
 public void test4(){
   
  String str = "123";
  str = "abc";
  int num = Integer.parseInt(str);
 }
  
 //ClassCastException
 @Test
 public void test3(){
  Object obj = new Date();
  String str = (String)obj;
 }
  
 //IndexOutOfBoundsException
 @Test
 public void test2(){
   
  //ArrayIndexOutOfBoundsException
//  int[] arr = new int[10];
//  System.out.println(arr[10]);
   
  //StringIndexOutOfBoundsException
  String str = "abc";
  System.out.println(str.charAt(3));
 }
  
 //NullPointerException
 @Test
 public void test1(){
   
//  int[] arr = null;
//  System.out.println(arr[3]);
   
  String str = "abc";
  str = null;
  System.out.println(str.charAt(0));
   
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值