控制台应用程序异常

本文关键字:异常 应用程序 控制台 | 更新日期: 2023-09-27 18:31:11

根据我们学长的要求,我们被要求创建一个应用程序,用户在其中输入并获取他/她的储蓄信息的详细信息......

它的工作非常好,除了当我按回车键时,我得到一个异常并且我的程序崩溃的事实。

请向我提供信息,以便在我的控制台应用程序中,即使我按 Enter 键,我也不会收到异常,而是返回程序。

非常感谢 ,非常感谢帮助。

这是我的程序。

using System;
using System.Collections.Generic;
using System.Text;

namespace bankprob {

    class sav_acc
    {
        public float amount;
        public sav_acc(float amount)
        {
            this.amount = amount;
        }
        public void getdeposit(float depos)
        {
            amount += depos;
        }
        public void display()
        {
            Console.WriteLine("Balance of Customer :{0} ", amount);
        }

        public void withdrawl(float amt)
        {
            amount =amount - amt;
        }
        public void minbal()
        {
            if (amount < 1000)
            {
                Console.WriteLine("You cannot withdraw beyond the minimum balance of rupees 1000. ");
                return;
            }
        }
    }
    class cur_acc 
    {
        public float amount = 0;
        public cur_acc( float amount)

        {
            this.amount = amount;
        }
        public void getdeposit(float depos)
        {
            amount += depos;
        }
        public void display()
        {
            Console.WriteLine("Balance of Customer : {0}", amount);
        }

        public void withdrawl(float amt)
        {
            amount = amount - amt;
        }
        public void minbal()
        {
            if (amount < 1000)
            {
                Console.WriteLine(" Your balance is less than 1000, and u cannot make any withdrawals");
            }
            else
                Console.WriteLine("Balance is greater than Rs 1000 no need to panality");
        }
    }
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Welcome Mr.Sayeed");
            Console.WriteLine("Please select the type of account.'n1.Savings 2.Current 3.Exit");
            int ch; 
            ch = int.Parse(Console.ReadLine()); 
            switch (ch)
            {
                case 1:
                    Console.WriteLine("Enter Initail Amount : ");
                    float amt = int.Parse(Console.ReadLine());
                    sav_acc s = new sav_acc(amt);
                    Console.WriteLine("Enter deposit money : ");
                    float depos = float.Parse(Console.ReadLine());
                    s.getdeposit(depos);
                    s.display();
                    Console.WriteLine("Enter withdrawl Amount");
                    float wamt = float.Parse(Console.ReadLine());
                    s.withdrawl(wamt);
                    s.display();
                    s.minbal();
                    s.display();
                    break;
                case 2:
                    Console.WriteLine("Enter Initail Amount : ");
                    float am = int.Parse(Console.ReadLine());
                    cur_acc c = new cur_acc(am);
                    Console.WriteLine("Enter deposit money : ");
                    float depo = float.Parse(Console.ReadLine());
                    c.getdeposit(depo);
                    c.display();

                    Console.WriteLine("Enter withdrawl Amount");
                    float wam = float.Parse(Console.ReadLine());
                    c.withdrawl(wam);
                    c.display();
                    c.minbal();
                    c.display();
                    break;
                case 3:
                    Console.WriteLine("Thank you for Using this applicaton");
                    return;
                default:
                    Console.WriteLine("You have made a wrong choice, Thank you...");
                    return;
            }
        }
    }
}

控制台应用程序异常

int.Parse(Console.ReadLine())要求您输入有效的整数。如果只按 return 而不输入值,该方法将引发异常。请改用int.TryParse

int ch = 0; 
int.TryParse(Console.ReadLine(), ch); 
switch (ch) {
    ...
}