【转】深入理解java异常处理机制

时间:2023-01-31 13:05:01

;

  • int c;
  • for (int i = 2; i >= -2; i--) {
  • c = b / i;
  • System.out.println("i=" + i);
  • }
  • return true;
  • } catch (Exception e) {
  • System.out.println("testEx2, catch exception");
  • ret = false;
  • throw e;
  • } finally {
  • System.out.println("testEx2, finally; return value=" + ret);
  • return ret;
  • }
  • }
  • public static void main(String[] args) {
  • TestException testException1 = new TestException();
  • try {
  • testException1.testEx();
  • } catch (Exception e) {
  • e.printStackTrace();
  • }
  • }
  • }
  • </span>
  • 你的答案是什么?是下面的答案吗?

    ;

  • int b = 0;
  • try { // try监控区域
  • if (b == 0) throw new ArithmeticException(); // 通过throw语句抛出异常
  • System.out.println("a/b的值是:" + a / b);
  • }
  • catch (ArithmeticException e) { // catch捕捉异常
  • System.out.println("程序出现异常,变量b不能为0。");
  • }
  • System.out.println("程序正常结束。");
  • }
  • }
  • 运行结果:;

  • int b = 0;
  • try {
  • System.out.println("a/b的值是:" + a / b);
  • } catch (ArithmeticException e) {
  • System.out.println("程序出现异常,变量b不能为0。");
  • }
  • System.out.println("程序正常结束。");
  • }
  • }