class MyException extends Exception{ // 自定义异常类,继承Exception类 public MyException(String msg){ super(msg) ; // 调用Exception类中有一个参数的构造方法,传递错误信息 } }; public class DefaultException{ public static void main(String args[]){ try{ throw new MyException("自定义异常。") ; // 抛出异常 }catch(Exception e){ System.out.println(e) ; } } }
public class RuntimeExceptionDemo01{ public static void main(String args[]){ String str = "123" ; // 定义字符串,全部由数字组成 int temp = Integer.parseInt(str) ; // 将字符串变为int类型 System.out.println(temp * temp) ; // 计算乘方 } };
public class Test{ public static void main(String args[]){ int x[] = {1,2,3} ; // 定义数组,长度为3 assert x.length==0 : "数组长度不为0" ; // 此处断言数组的长度为0 } };
public class ThrowDemo01{ public static void main(String args[]){ try{ throw new Exception("自己抛着玩的。") ; // 抛出异常的实例化对象 }catch(Exception e){ System.out.println(e) ; } } };
class Math{ public int div(int i,int j) throws Exception{ // 定义除法操作,如果有异常,则交给被调用处处理 System.out.println("***** 计算开始 *****") ; int temp = 0 ; // 定义局部变量 try{ temp = i / j ; // 计算,但是此处有可能出现异常 }catch(Exception e){ throw e ; }finally{ // 不管是否有异常,都要执行统一出口 System.out.println("***** 计算结束 *****") ; } return temp ; } }; public class ThrowDemo02{ public static void main(String args[]){ Math m = new Math() ; try{ System.out.println("除法操作:" + m.div(10,0)) ; }catch(Exception e){ System.out.println("异常产生:" + e) ; } } };
class Math{ public int div(int i,int j) throws Exception{ // 定义除法操作,如果有异常,则交给被调用处处理 int temp = i / j ; // 计算,但是此处有可能出现异常 return temp ; } }; public class ThrowsDemo01{ public static void main(String args[]){ Math m = new Math() ; // 实例化Math类对象 try{ System.out.println("除法操作:" + m.div(10,2)) ; }catch(Exception e){ e.printStackTrace() ; // 打印异常 } } };
class Math{ public int div(int i,int j) throws Exception{ // 定义除法操作,如果有异常,则交给被调用处处理 int temp = i / j ; // 计算,但是此处有可能出现异常 return temp ; } }; public class ThrowsDemo02{ // 在主方法中的所有异常都可以不使用try...catch进行处理 public static void main(String args[]) throws Exception{ Math m = new Math() ; // 实例化Math类对象 System.out.println("除法操作:" + m.div(10,0)) ; } };