package com.test;
/**
*不管是在方法定义时就使用try catch,还是在定义方法时将异常抛出在调用方法时使用try catch都能达到效果
*
*/public class MyException02 extends Exception {
//创建一个有参的构造方法
public MyException02(String msg) { } //在创建方法时就使用try catch将异常捕获,在main方法中就只需要直接调用方法,而不需要对方法进行其他处理
public static void f(String msg) {
System.out.println("msg:" + msg);
try {
throw new MyException();
} catch (MyException e) {
//将错误信息发送到标准错误流,比直接将错误信息输出到System.out要好,因为后者有可能会被重定向
e.printStackTrace(System.err);
}finally {
System.out.println("f()中finally输出的语句");
}
} //声明一个异常,在方法中将异常抛出,在main方法中再进行处理
public static void g(String msg) throws MyException {
System.out.println("msg:" + msg);
throw new MyException();
} public static void main(String[] args) {
//直接调用方法,因为异常已经在方法中进行处理了
f("传一个String给f"); System.out.println(); //在调用方法时再对方法中的异常使用try catch进行处理
try {
g("传一个String给G");
} catch (Exception e) {
e.printStackTrace(System.out);
} finally {
System.out.println("g()中finally输出的语句");
} }
}

最新文章

  1. Dagger2系列之使用方法
  2. 真TM操蛋——观《鬼子来了》有感
  3. 软件工程-pair work
  4. post 405 method not allowed
  5. html5 canvas 移动小方块
  6. Oracle.ManagedDataAccessDTC.dll 使用
  7. Phoenix中Sequence的用法
  8. 前端MVC Vue2学习总结(二)——Vue的实例、生命周期与Vue脚手架(vue-cli)
  9. class, classloder, dex 详解
  10. [LeetCode] Smallest Good Base 最小的好基数
  11. thymleaf模板截取日期的年月日,去掉时分秒
  12. dataTransfer对象
  13. python常用函数及模块
  14. Docker Compose 介绍安装
  15. Python实现基于DES加密源码的文本加密器
  16. java中的数据结构
  17. Java捕获异常的问题
  18. 【bzoj题解】1001 狼抓兔子
  19. django 静态文件
  20. const在指针中的用法

热门文章

  1. Openstack组件部署 — Netwotking service组件介绍与网络基本概念
  2. PAT_A1023#Have Fun with Numbers
  3. MySql 主从复制及深入了解
  4. 52-Ubuntu-打包压缩-2-打包/解包
  5. poj 3258 二分
  6. 支付宝支付接口-app支付沙箱环境
  7. boost 大小端转换
  8. 微服务(Microservices)和服务网格(Service Mesh)的架构概念
  9. 小程序登录时如何获取input框中的内容
  10. 转 直接在浏览器运行Python代码