Exception Class에서 에러 코드 해석 ~초기초편~
10968 단어 VisualStudioC#exception
이 기사에서는, 우선 Exception Class 의 초기본적인 사용법을 정리해, 여러가지 Exception Class 를 향후 사용할 수 있도록(듯이) 해 나가려고 생각합니다.
Visual Studio에서 적절한 C# 코드 작성
먼저 Visual Studio의 새 프로젝트 만들기에서 적절한 ASP.core 콘솔 앱을 만듭니다.
이번에는 아래 코드를 입력하여 나눗셈을 계산하는 콘솔 앱을 만들었습니다.
program.csusing System;
namespace ConsoleApp20191012
{
class Program
{
static void Main(string[] args)
{
int num1 = 0; int num2 = 0;
Console.WriteLine("Console Calcutator i C#\r");
Console.WriteLine("Type a number, and then press Enter");
num1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Type a number, and then press Enter");
num2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
Console.Write("Press any key to close the Calculator console app...");
Console.ReadKey();
}
}
}
이 코드는 단순히 콘솔에서 입력한 두 개의 숫자를 나누는 코드입니다.
예를 들어 첫 번째 숫자를 100, 두 번째 숫자를 4로 입력하면 25라는 대답이 나옵니다.
이 때 입력한 값은 100과 4라는 명백한 정수였지만, 이것을 예를 들어 히라가나를 입력해 보면 어떻게 될까요?
콘솔 입력에서 "A"를 입력했을 때 핸들되지 않은 예외라는 경고와 함께 디버그가 중지되었습니다.
이것은 Visual Studio의 기능 중 하나입니다만, 이러한 예외가 입력되었을 때에, 디버그의 도중에 정지하는 것이 아니라, 콘솔에 무언가의 문자를 돌려주는 것 같은 처리를 하고 싶을 때에 편리한 것이 , "Exception Class"입니다.
Exception Class 삽입
Exception Class의 삽입은 간단하고, try/catch를 사용합니다.
Try에서 처리되는 것의 예외가 Catch로 날아간다는 느낌입니다.
예를 들어 이전 예외 처리에 있던 「아」라고 하는 숫자 이외의 것이 입력되었을 때에, 콘솔에 「올바른 값을 입력해 주세요」라고 하는 기입을 하는 처리를 시키기 위해서는, 이하와 같은 코드 쓰기.
최초의 문자를 입력할 때에, 예외 처리가 있는 경우에 콘솔에 문자 「올바른 값을 입력해 주세요」를 출력되는 것 같은 처리입니다. 실시에 디버그 해 보면, 다음과 같은 결과가 됩니다.
이것은 예외 처리의 초기초 코드입니다.
이것은 단순히 이상한 값이 입력되었을 때에 예외를 돌려주는 처리를 실시하고 있습니다만, 예를 들면 「00÷0」라고 하는 분모의 올바르지 않은 숫자가 입력되었을 경우는 「ArithmeticException Class」를 사용합니다 .
ArithmeticException Class 를 사용해 본다
Exception Class 는 여러가지 Class 가 준비되어 있습니다만, 그 안에 있는, 수식적인 예외가 있을 때에 처리를 실행하는 ArithmeticException Class 를 사용해 보겠습니다.
앞의 코드를 다음과 같이 바꿉니다.
계산을 하는 처리의 곳에서 예외 처리로, 「분모에는 올바른 문자를 입력해 주세요」라고 하는 문자를 돌려주도록 하고 있습니다. 결과 분자에 100, 0을 입력하면 예외 처리를 반환합니다.
이제 올바르게 예외 처리를 설정할 수 있습니다.
아래 코드입니다.
program.csusing System;
namespace ConsoleApp20191012
{
class Program
{
static void Main(string[] args)
{
int num1 = 0; int num2 = 0;
Console.WriteLine("Console Calcutator i C#\r");
Console.WriteLine("Type a number, and then press Enter");
try
{
num1 = Convert.ToInt32(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine("正しい値を入力してください");
}
Console.WriteLine("Type a number, and then press Enter");
num2 = Convert.ToInt32(Console.ReadLine());
try
{
Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
}
catch (ArithmeticException e)
{
Console.WriteLine("分母には正しい文字を入力してください");
}
Console.Write("Press any key to close the Calculator console app...");
Console.ReadKey();
}
}
}
초기초편은 이상입니다만, 상기의 처리는 매일 워밍업으로 써도 좋을 정도 잘 사용하므로, 확실히 이해해 가고 싶습니다. 다음 예외 기사에서는 예외와 throw 메서드를 활용한 디버깅에 대해 정리해 가고 싶습니다.
참고 URL
Visual Studio에서 간단한 C# 콘솔 앱 만들기
htps : // / cs. 미 c 로소 ft. 코 m / 쟈 jp / ぃ す あ ls つ ぢ 오 / 게 ts dr d / c 샤 rp / 쓰리 아 l 응?ゔ ぃ w = vs - 2019
Exception Class
htps : // / cs. 미 c 로소 ft. 이 m / 그럼 jp / t 네 t / 아피 / sys m. 에 x 세 p 치오?ぃぃ w = 네 tf 라메를 rk-4.8
ArithmeticException Class
htps : // / cs. 미 c 로소 ft. 이 m / 그럼 jp / t 네 t / 아피 / sys m. 예 th 메치세 x 세 p 치오?ぃぃ w = 네 tf 라메를 rk-4.8
Reference
이 문제에 관하여(Exception Class에서 에러 코드 해석 ~초기초편~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/komiyasa/items/1ccebd001a2f151c3550
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using System;
namespace ConsoleApp20191012
{
class Program
{
static void Main(string[] args)
{
int num1 = 0; int num2 = 0;
Console.WriteLine("Console Calcutator i C#\r");
Console.WriteLine("Type a number, and then press Enter");
num1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Type a number, and then press Enter");
num2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
Console.Write("Press any key to close the Calculator console app...");
Console.ReadKey();
}
}
}
Exception Class의 삽입은 간단하고, try/catch를 사용합니다.
Try에서 처리되는 것의 예외가 Catch로 날아간다는 느낌입니다.
예를 들어 이전 예외 처리에 있던 「아」라고 하는 숫자 이외의 것이 입력되었을 때에, 콘솔에 「올바른 값을 입력해 주세요」라고 하는 기입을 하는 처리를 시키기 위해서는, 이하와 같은 코드 쓰기.
최초의 문자를 입력할 때에, 예외 처리가 있는 경우에 콘솔에 문자 「올바른 값을 입력해 주세요」를 출력되는 것 같은 처리입니다. 실시에 디버그 해 보면, 다음과 같은 결과가 됩니다.
이것은 예외 처리의 초기초 코드입니다.
이것은 단순히 이상한 값이 입력되었을 때에 예외를 돌려주는 처리를 실시하고 있습니다만, 예를 들면 「00÷0」라고 하는 분모의 올바르지 않은 숫자가 입력되었을 경우는 「ArithmeticException Class」를 사용합니다 .
ArithmeticException Class 를 사용해 본다
Exception Class 는 여러가지 Class 가 준비되어 있습니다만, 그 안에 있는, 수식적인 예외가 있을 때에 처리를 실행하는 ArithmeticException Class 를 사용해 보겠습니다.
앞의 코드를 다음과 같이 바꿉니다.
계산을 하는 처리의 곳에서 예외 처리로, 「분모에는 올바른 문자를 입력해 주세요」라고 하는 문자를 돌려주도록 하고 있습니다. 결과 분자에 100, 0을 입력하면 예외 처리를 반환합니다.
이제 올바르게 예외 처리를 설정할 수 있습니다.
아래 코드입니다.
program.csusing System;
namespace ConsoleApp20191012
{
class Program
{
static void Main(string[] args)
{
int num1 = 0; int num2 = 0;
Console.WriteLine("Console Calcutator i C#\r");
Console.WriteLine("Type a number, and then press Enter");
try
{
num1 = Convert.ToInt32(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine("正しい値を入力してください");
}
Console.WriteLine("Type a number, and then press Enter");
num2 = Convert.ToInt32(Console.ReadLine());
try
{
Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
}
catch (ArithmeticException e)
{
Console.WriteLine("分母には正しい文字を入力してください");
}
Console.Write("Press any key to close the Calculator console app...");
Console.ReadKey();
}
}
}
초기초편은 이상입니다만, 상기의 처리는 매일 워밍업으로 써도 좋을 정도 잘 사용하므로, 확실히 이해해 가고 싶습니다. 다음 예외 기사에서는 예외와 throw 메서드를 활용한 디버깅에 대해 정리해 가고 싶습니다.
참고 URL
Visual Studio에서 간단한 C# 콘솔 앱 만들기
htps : // / cs. 미 c 로소 ft. 코 m / 쟈 jp / ぃ す あ ls つ ぢ 오 / 게 ts dr d / c 샤 rp / 쓰리 아 l 응?ゔ ぃ w = vs - 2019
Exception Class
htps : // / cs. 미 c 로소 ft. 이 m / 그럼 jp / t 네 t / 아피 / sys m. 에 x 세 p 치오?ぃぃ w = 네 tf 라메를 rk-4.8
ArithmeticException Class
htps : // / cs. 미 c 로소 ft. 이 m / 그럼 jp / t 네 t / 아피 / sys m. 예 th 메치세 x 세 p 치오?ぃぃ w = 네 tf 라메를 rk-4.8
Reference
이 문제에 관하여(Exception Class에서 에러 코드 해석 ~초기초편~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/komiyasa/items/1ccebd001a2f151c3550
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using System;
namespace ConsoleApp20191012
{
class Program
{
static void Main(string[] args)
{
int num1 = 0; int num2 = 0;
Console.WriteLine("Console Calcutator i C#\r");
Console.WriteLine("Type a number, and then press Enter");
try
{
num1 = Convert.ToInt32(Console.ReadLine());
}
catch (Exception e)
{
Console.WriteLine("正しい値を入力してください");
}
Console.WriteLine("Type a number, and then press Enter");
num2 = Convert.ToInt32(Console.ReadLine());
try
{
Console.WriteLine($"Your result: {num1} / {num2} = " + (num1 / num2));
}
catch (ArithmeticException e)
{
Console.WriteLine("分母には正しい文字を入力してください");
}
Console.Write("Press any key to close the Calculator console app...");
Console.ReadKey();
}
}
}
Visual Studio에서 간단한 C# 콘솔 앱 만들기
htps : // / cs. 미 c 로소 ft. 코 m / 쟈 jp / ぃ す あ ls つ ぢ 오 / 게 ts dr d / c 샤 rp / 쓰리 아 l 응?ゔ ぃ w = vs - 2019
Exception Class
htps : // / cs. 미 c 로소 ft. 이 m / 그럼 jp / t 네 t / 아피 / sys m. 에 x 세 p 치오?ぃぃ w = 네 tf 라메를 rk-4.8
ArithmeticException Class
htps : // / cs. 미 c 로소 ft. 이 m / 그럼 jp / t 네 t / 아피 / sys m. 예 th 메치세 x 세 p 치오?ぃぃ w = 네 tf 라메를 rk-4.8
Reference
이 문제에 관하여(Exception Class에서 에러 코드 해석 ~초기초편~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/komiyasa/items/1ccebd001a2f151c3550텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)