코드 냄새 26 - 예외 오염
10066 단어 programmingooptutorialexceptions
TL;DR; Don't create anemic and empty objects. Even if they are Exceptions.
문제
솔루션
샘플 코드
잘못된
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReader {
public static void main(String[] args) {
FileReader file = null;
try {
file = new FileReader("source.txt");
file.read();
}
catch(FileNotFoundException e) {
e.printStackTrace();
}
catch(FileLockedException e) {
e.printStackTrace();
}
catch(FilePermissionsException e) {
e.printStackTrace();
}
catch(IOException e) {
e.printStackTrace();
}
finally {
try {
file.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
}
오른쪽
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReader {
public static void main(String[] args) {
FileReader file = null;
try {
file = new FileReader("source.txt");
file.read();
}
catch(FileException exception) {
if (exception.description == (this.expectionMessages().errorDescriptionFileTemporaryLocked() {
//sleep and retry
//IF behaviour is the same with all the exceptions just change the text on object creation and raise the icorrect instance
}
this.showErrorToUser(exception.messageToUser();
//This example is simplified. Text should be translated
}
finally {
try {
file.close();
}
}
}
}
발각
새 예외는 동작 메서드를 재정의해야 합니다.
번호 코드, 설명, 재개 가능 등은 작동하지 않습니다.
태그
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReader {
public static void main(String[] args) {
FileReader file = null;
try {
file = new FileReader("source.txt");
file.read();
}
catch(FileNotFoundException e) {
e.printStackTrace();
}
catch(FileLockedException e) {
e.printStackTrace();
}
catch(FilePermissionsException e) {
e.printStackTrace();
}
catch(IOException e) {
e.printStackTrace();
}
finally {
try {
file.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
}
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReader {
public static void main(String[] args) {
FileReader file = null;
try {
file = new FileReader("source.txt");
file.read();
}
catch(FileException exception) {
if (exception.description == (this.expectionMessages().errorDescriptionFileTemporaryLocked() {
//sleep and retry
//IF behaviour is the same with all the exceptions just change the text on object creation and raise the icorrect instance
}
this.showErrorToUser(exception.messageToUser();
//This example is simplified. Text should be translated
}
finally {
try {
file.close();
}
}
}
}
새 예외는 동작 메서드를 재정의해야 합니다.
번호 코드, 설명, 재개 가능 등은 작동하지 않습니다.
태그
결론
모든 Person 인스턴스에 대해 다른 클래스를 생성하지 않으므로 다른 이름을 반환합니다. 예외를 두고 왜 하시겠습니까?
특정 예외를 얼마나 자주 포착합니까?.
나가서 코드를 확인하십시오.
꼭 클래스여야 하나요?
당신은 이미 수업에 연결되어 있습니다. 대신 설명에 연결하십시오.
예외 인스턴스는 .
처지
코드 냄새 01 - 빈혈 모델
Maxi Contieri ・ 2020년 10월 20일 ・ 2분 읽기
#codenewbie
#oop
#beginners
#computerscience
학점
사진 제공: Nick van den Berg on Unsplash
You will fall to ruin because you believe that exceptions to the rule make new rules.
피어스 브라운
소프트웨어 엔지니어링 좋은 인용문
Maxi Contieri ・ 12월 28일 '20 ・ 13분 읽기
#codenewbie
#programming
#quotes
#software
이 기사는 CodeSmell 시리즈의 일부입니다.
코드에서 냄새 나는 부분을 찾는 방법
Maxi Contieri ・ 2021년 5월 21일 ・ 4분 읽기
#codenewbie
#tutorial
#codequality
#beginners
마지막 업데이트: 2021/07/13
Reference
이 문제에 관하여(코드 냄새 26 - 예외 오염), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/mcsee/code-smell-26-exceptions-polluting-pbn
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
코드 냄새 01 - 빈혈 모델
Maxi Contieri ・ 2020년 10월 20일 ・ 2분 읽기
#codenewbie
#oop
#beginners
#computerscience
학점
사진 제공: Nick van den Berg on Unsplash
You will fall to ruin because you believe that exceptions to the rule make new rules.
피어스 브라운
소프트웨어 엔지니어링 좋은 인용문
Maxi Contieri ・ 12월 28일 '20 ・ 13분 읽기
#codenewbie
#programming
#quotes
#software
이 기사는 CodeSmell 시리즈의 일부입니다.
코드에서 냄새 나는 부분을 찾는 방법
Maxi Contieri ・ 2021년 5월 21일 ・ 4분 읽기
#codenewbie
#tutorial
#codequality
#beginners
마지막 업데이트: 2021/07/13
Reference
이 문제에 관하여(코드 냄새 26 - 예외 오염), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/mcsee/code-smell-26-exceptions-polluting-pbn
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
You will fall to ruin because you believe that exceptions to the rule make new rules.
소프트웨어 엔지니어링 좋은 인용문
Maxi Contieri ・ 12월 28일 '20 ・ 13분 읽기
#codenewbie
#programming
#quotes
#software
코드에서 냄새 나는 부분을 찾는 방법
Maxi Contieri ・ 2021년 5월 21일 ・ 4분 읽기
#codenewbie
#tutorial
#codequality
#beginners
Reference
이 문제에 관하여(코드 냄새 26 - 예외 오염), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mcsee/code-smell-26-exceptions-polluting-pbn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)