zoukankan      html  css  js  c++  java
  • 简单的异常例子

    简单的异常例子

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleAppTestDemo1
    {
        class TestDemo1
        {
            static void Main(string[] args)
            {
                Calculator c = new Calculator();
                int r = 0;
                Console.WriteLine("int MaxValue : {0}", int.MaxValue);
    
                try
                {
                    r = c.Add(args[0], args[1]);
                }
                catch(IndexOutOfRangeException e)
                {
                    Console.WriteLine("IndexOutOfRangeException ...");
                    Console.WriteLine(e.Message);
                    Console.WriteLine(e.StackTrace);
                }
                catch (OverflowException oe)
                {
                    Console.WriteLine("OverflowException ...");
                    Console.WriteLine(oe.Message);
                    Console.WriteLine(oe.StackTrace);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Exception ...");
                    Console.WriteLine(e.Message);
                    Console.WriteLine(e.StackTrace);
                }
                Console.WriteLine(r);
            }
    
        }
    
        class Calculator
        {
            public int Add(string arg1, string arg2)
            {
                int a = 0;
                int b = 0;
                int result = 0;
                bool hasError = false;
    
                try
                {
                    a = int.Parse(arg1);
                    b = int.Parse(arg2);
                    result = checked(a + b);
                }
                catch (ArgumentNullException ane)
                {
                    Console.WriteLine("ArgumentNullException ...");
                    Console.WriteLine(ane.Message);
                    Console.WriteLine(ane.StackTrace);
                    hasError = true;
                }
                catch (FormatException fe)
                {
                    Console.WriteLine("FormatException ...");
                    Console.WriteLine(fe.Message);
                    Console.WriteLine(fe.StackTrace);
                    hasError = true;
                }
                catch (OverflowException oe)
                {
                    hasError = true;
                    throw oe;
                }
                catch (Exception e)
                {
                    hasError = true;
                    throw e;
                }
                finally
                {
                    if (hasError)
                    {
                        Console.WriteLine("Exception has error!");
                    }
                    else
                    {
                        Console.WriteLine("Done!");
                    }
                }
    
                return result;
            }
        }
    }

    ======= End

  • 相关阅读:
    django缓存,信号,orm性能,多数据库配置
    git实战
    Web框架
    Windows Server 2012 R2 管理员密码忘记如何修改密码
    主机记录和记录值
    Python的类
    GenomicRangeQuery Find the minimal nucleotide from a range of sequence DNA.
    Countdiv-Codility Lesson5
    Windows域控时间不正确,设置互联网NTP服务器时间自动同步
    Missing Smallest positive integer
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/10490020.html
Copyright © 2011-2022 走看看