侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

java异常的处理探讨

Java  /  管理员 发布于 2年前   168

//java异常 

/*

1,了解java 中的异常处理机制,有三种操作

a,声明异常 

b,抛出异常 

c,捕获异常

2,学会使用try-catch-finally来处理异常

3,学会如何声明异常和抛出异常

4,学会创建自己的异常

 

*/

 

//2,学会使用try-catch-finally来处理异常

 

/*使用try-catch*/public class TryCatchTest { public static void main(String[] args) {int number,value;try{number = 0;value = 3/number;//可能会抛出ArithmeticException异常,使用catch老捕获这个异常}catch(ArithmeticException e){e.printStackTrace();System.out.println("错误:被0整除");}}} 
 
/*定义一个try-catch-finally来捕获异常*/public class finallyTest { public static void main(String[] args) { try{int[] a = new int[3];a[3] =3;//数组超越边界  }catch(ArithmeticException e){//Exception类是从Throwable继承的,同时也有其方法//toString();对当前异常对象的描述//getMessage();获取返回的信息//printStackTrace();打印当前异常对象详细消息的字符串 System.out.println(" e.toString()"+ e.toString()); System.out.println("e.getMessage()"+ e.getMessage()); System.out.println ("e.hashCode()"+e.hashCode()); System.out.println ("e.printStackTrace()");e.printStackTrace(); System.out.println("发生了异常!"); }finally{ //不管前面是否执行finally都会输出 System.out.println("最后执行这句话!"); }}}
 

 

 

 

//3,学会如何声明异常和抛出异常

 

/*会用关键字throw是在try中来声明,关键字throws是在方法体中声明

如果一个方法可能产生异常,那么该方法要么需要try-catch来捕获

并处理他们,要么主动声明抛出,否则该程序将无法编译,除非是编译

过成中的异常

throws关键字用在方法声明中

 

throw用在try块中来声明并抛出一个异常public void go(){try{thorw new IOException("文件不存在!");}catch(Exception e){System.out.println(e.getMessage());}}
 

 


 

import java.io.*; public class throwsTest { public static void main(String[] args){ throwsTest thorwstest = new throwsTest(); try{thorwstest.readFile();}catch(IOException e){e.printStackTrace();}}  //readFile() 方法抛出IOExceptionpublic void readFile() throws IOException{ FileInputStream fis = new FileInputStream("hello.txt");int b;b = fis.read();while(b!=-1){System.out.println((char)b);b = fis.read();}fis.close();}}*/ /*运行结果,如果没有hello.txt就出现下面的 ,如果有就输入字符 * java.io.FileNotFoundException: hello.txt (系统找不到指定的文件。)at java.io.FileInputStream.open(Native Method)at java.io.FileInputStream.<init>(Unknown Source)at java.io.FileInputStream.<init>(Unknown Source)at java面向对象设计.throwsTest.readFile(throwsTest.java:33)at java面向对象设计.throwsTest.main(throwsTest.java:23)  */ 
 

 

 

//4,学会创建自己的异常

//下面的代码中定义了声明了一个异常,并捕获, public class TryCatchTest { public static void main(String[] args) {int number,value;try{number = 0;value = 3/number; }catch(Exception e){e.printStackTrace();System.out.println("错误:被0整除");}} }  
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


  • 上一条:
    JAVA的抽象--- 接口 --实现
    下一条:
    java的多态性探讨
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • java 正则表达式基础,实例学习资料收集大全 原创(0个评论)
    • java正则表达式彻底研究(0个评论)
    • java正则表达式验证函数(0个评论)
    • MVC、MVP和MVVM分别是什么(0个评论)
    • java 单例模式(饿汉模式与懒汉模式)(0个评论)
    • 近期文章
    • 在Laravel应用程序如何减少代码重复编写(0个评论)
    • 在laravel项目中提高安全性方式推荐:CSP内容安全策略(0个评论)
    • 在go语言中从值中获取常量名称代码示例(0个评论)
    • 在go语言中如何通过名称获得结构字段和值代码示例(0个评论)
    • 在go语言中用JQuery + html2canvas实现拍摄浏览器的屏幕截图示例(0个评论)
    • 人生感悟分享:讲一个大学毕业生到社畜老狗的蜕变心路历程(0个评论)
    • laravel9框架报错Target class... does not exist解决方式(0个评论)
    • Laravel 9.48版本发布(0个评论)
    • Meta高级工程师现身说法:程序员干得越久,代码写得越少?(0个评论)
    • 本站zongscan祝大家除夕快乐,2023有奔头(0个评论)
    • 近期评论
    • 博主 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..
    • xiaoB 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..
    • BUG4 在

      你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..
    • 博主 在

      go语言+beego框架中获取get,post请求的所有参数中评论 @ t1  直接在router.go文件中配就ok..
    • Jade 在

      如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
    • 2016-11
    • 2018-03
    • 2020-03
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客