acc1数据异常_ACS880故障代码5093

acc1数据异常_ACS880故障代码5093

 /* * * 处理异常第一种方式: * 在方法是声明的位置上使用throws关键字抛出,谁调用这个方法,就抛给谁 * 第二种方式: * 使用try..catch语句对异常进行捕捉 * 不在上抛了,自己处理了 * * 注意:只要代码异常采用上抛,没有捕捉,则此方法的后续代码不会执行,此方法结束 * try语句块中的某一行出现异常,该行后面的代码不会执行 * try..catch捕捉异常后,后续代码(指的是try..catch语句块)可以执行 * */ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.ObjectStreamException; public class Test03 { 
    public static void main(String[] args) { 
    //这是算输异常,属于运行时异常,你这样写,编译器没有报错,可以处理,也可不处 try{ 
    System.out.println(10 / 0); }catch (ArithmeticException s){ 
    System.out.println("算术异常"); } /* * 一般不建议在main方法中使用throws,如果这个异常真的发生了,main方法一定会抛给JVM,JVM只有终止程序 * 异常处理机制的作用是增强程序的健壮性,怎么能做到,异常发生了叶不影响程序的执行 * 建议main方法中的异常使用try..catch进行捕捉,main方法就不再上报了 * */ System.out.println("main begin"); try { 
    //尝试执行 m1(); } catch (FileNotFoundException e) { 
    //这个分支可以使用e引用,e保存的是那个new出来的异常对象的内存地址 //只要捕捉,就不会上抛,catch分支中处理异常 //catch是捕捉异常之后走的分支 System.out.println("文件不存在,可能路径错误,也可能该文件被删除了"); System.out.println(e); // java.io.FileNotFoundException: I:\project\疑惑问题.txs (系统找不到指定的文件。) } //try catch把异常抓住后,这里的代码就会继续执行,若是上抛的,则代码不再向异常的下面执行 System.out.println("main over"); } public static void m1() throws FileNotFoundException { 
    System.out.println("m1 begin"); m2(); System.out.println("m1 over"); } public static void m2() throws FileNotFoundException { 
    /* * 这个位置抛别的异常不行ClassCastException, * 但是: * 1、可以抛别的和它本身 throws ClassCastException,FileNotFoundException 注意用逗号隔开,不需再写throws * 2、可以抛他的父类throws IOException * 3、也可以抛他的父类的父类,比他大的都行 ,因为他的父类包括FileNotFoundException * */ System.out.println("m2 begin"); m3(); System.out.println("m2 over"); } public static void m3() throws FileNotFoundException { 
    // 创建一个输入流,该流指向一个文件 /* * 问什么会出现编译报错呢? * public FileInputStream(String name) throws FileNotFoundException *1、 这是构造方法声明位置上有 throws FileNotFoundException *2、 通过这个类看到FileNotFoundException 的父类是 IOException ,IOException的父类是Exception * * 结论:得知FileNotFoundException是编译时异常,需要进行预处理,不处理编译器就报错 */ System.out.println("m3 begin "); new FileInputStream("I:\\project\\疑惑问题.txs"); System.out.println("m3 over"); System.out.println("出了异常,这里还会执行吗??????"); } } 
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; /* * 深入try..catch * 1、catch后面的()可以是具体的异常类型,也可以是该异常类型的父类型 * 2、catch可以写多个,建议捕捉异常时,精确地一个一个地处理,这样有利于程序调试 * 3、catch写多个的时候,从上到下,必须遵循从小到大,否则报错 * * 以后开发中: * 希望调用者知道(如你写了一个方法,希望其他人去处理这个异常),就用throws(编译时,受检,受控) * 其他情况用捕捉(运行时,未受检,非受控) * * */ public class Test04 { 
    public static void main(String[] args) throws FileNotFoundException { 
    /* try { new FileInputStream("I:\\project\\疑惑问题.txt"); System.out.println("如果发生异常的话,这行代码就不执行"); }catch (FileNotFoundException e){ System.out.println("发生异常,找不到文件"); }*/ try { 
    FileInputStream fis = new FileInputStream("I:\\project\\疑惑问题.txt"); System.out.println("如果发生异常,你将不会看到这句话"); System.out.println(100 / 0); //这样写是JDK8的新特性 }catch ( FileNotFoundException | ArithmeticException a ){ 
    //所有的异常都走这个分支 //IOException e = new FileNotFoundException(); 相当于多态 System.out.println("发生异常,找不到文件,或者数学异常"); } } } 
/* * 异常对象有两个重要的方法: * 获取异常简单的描述信息: * String msg = exception.getMessage(); * * 打印异常追踪的堆栈信息 * exception.printStackTrace() * */ public class Test05 { 
    public static void main(String[] args) { 
    /* * 这里只是为了测试getMessage()方法和printStackTrace()方法 * 只new了异常对象,但没有将异常对象抛出,JVM认为这是一个普通的java对象 * */ NullPointerException e = new NullPointerException("空指针异常hahahahah"); // throw e;手动抛异常的,在后面 //获取异常简单描述信息:这个信息实际上就是构造方法上是String参数 String msg = e.getMessage(); System.out.println(msg); //打印异常堆栈信息 //java后台打印异常堆栈追踪信息的时候,采用了异步线程的方式打印的 e.printStackTrace(); //双线程的,其实e.printStackTrace();的输出应该在hello world上的,不一定 System.out.println("hello world"); } } 
 import java.io.FileInputStream; import java.io.FileNotFoundException; /* * 异常对象的两个方法: * String msg = e.getMessage(): * e.printStackTrace(); * * 查看异常的追踪信息,应该怎么看,可以快速的调试? * 从上往下一行一行看,不看Sun的代码 * 主要问题在自己写的代码上(看包名就能看出来) * * * */ public class Test06 { 
    public static void main(String[] args) { 
    try { 
    m1(); } catch (FileNotFoundException e) { 
    //打印异常堆栈追踪信息 //在实际开发中,建议使用这个, e.printStackTrace(); //这行代码如果不写,出了异常也不知道,一般用这个 //获取异常的简单描述信息,这个方法不全 System.out.println(e.getMessage()); /* java.io.FileNotFoundException: I:\project\疑惑问题.tx (系统找不到指定的文件。) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:211) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:153) at java.base/java.io.FileInputStream.<init>(FileInputStream.java:108) at UML.Test06.m3(Test06.java:34) at UML.Test06.m2(Test06.java:29) at UML.Test06.m1(Test06.java:25) at UML.Test06.main(Test06.java:15) 34行出问题,导致29行出问题、导致25,导致15 */ } //这里程序不耽误执行,很健壮(服务器不会因为遇到异常而宕机,死机) System.out.println("后面程序可以执行"); } private static void m1() throws FileNotFoundException { 
    m2(); } private static void m2() throws FileNotFoundException { 
    m3(); } private static void m3() throws FileNotFoundException { 
    new FileInputStream("I:\\project\\疑惑问题.tx"); } } 
在这里插入代码片 

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/147959.html

(0)
上一篇 2024年 6月 30日 10:18
下一篇 2024年 6月 30日

相关推荐

关注微信