코드 컴플리트에서 플로우 컨트롤에 대한 예외를 사용하면 안된다는 것을 읽었습니다. 또한 일반적인 조언은 "예외적 인 경우"를 처리하기 위해 예외를 사용하는 것임을 알고 있습니다. 하지만이 조언을 어떻게 적용해야할지 모르겠습니다. 예외를 사용하여 생성자에서 잘못된 매개 변수를 확인하는 것이 좋습니다. 예를 들어 스프레드 시트의 행을 레코드 개체로 변환하는 ExcelInputConverter가 있습니다 (조작 용). 생성자는 Excel 파일의 이름을 입력으로 사용합니다. 들어오는 문자열이 유효한 Excel 파일인지 확인하기 위해 예외를 사용해야합니까? 엑셀 파일이 존재한다는 것입니까? 이 경우 예외를 사용해야하는 것처럼 보입니다. 클래스가 본질적으로 작동하지 않을 수 있기 때문입니다.예외를 사용하여 생성자에서 잘못된 매개 변수를 확인해야합니까?
클래스 또는 클래스 외부에서 유효하지 않은 데이터가 있는지 확인하는 것이 좋습니까?
Public Sub New(filename as string) 'new excel input converter
If Not (Path.GetExtension(fileName) = ".xls" Or Path.GetExtension(fileName) = ".xlsx") Then Throw New Exception("Can't make an Excel input converter from a non-Excel file like " & inputFileName)
If Not (File.Exists(fileName)) Then Throw New Exception("This file does not exist. Can't make an Excel converter")
실제로 생성자가 실패했다는 것을 프로그램에 알리는 방법은 없으므로 예외를 사용하면 올바른 방법 일뿐입니다. –