누구나 throw
과 throw ex
의 차이점을 간단히 말해 줄 수 있습니까? throw
은 이전 예외를 저장하지만이 줄은 가져 오지 않습니다.
예를 들어 간단히 알 수 있습니까?던전과 던지기의 차이점은 C# .net
답변
예 - throw
은 catch 된 예외를 다시 throw하고 스택 추적을 보존합니다. throw ex
은 동일한 예외를 throw하지만 은 스택 추적을 해당 메서드로 다시 설정합니다. 당신은 스택 추적을 다시 원하는 하지 않는 한
은 예외가 발생한 위치를 볼 수 있기 때문에 throw
는 일반적으로 더 나은 선택이다, (즉 라이브러리의 내부 작업에서 공공 발신자를 보호하기 위해).
는 또한 그는 "통과"catch 블록을 언급합니다 :
try
{
// do stuff
}
catch(Exception ex)
{
throw;
}
무의미하다. try/catch
이 전혀없는 것과 똑같은 동작입니다.
던지기 전에 로그 문을 넣으면 무의미합니다. 어떻게 내가 그것을 아주 자주 사용하는지. – Evgeni
@Eugene 당신은 맞습니다.하지만 나는 던지기 전에 아무것도 가지고 있지 않습니다. 그것은 내가 설명하려고했던 것입니다. –
던지기는 원래의 예외를 다시 제기합니다.
throw ex는 새로운 예외를 생성하므로 스택 추적이 변경됩니다. 일반적으로 거의 의미가 일반적으로 당신도 방금 예를 들어
// not a great code, demo purposes only
try{
File.Read("blah");
}
catch(FileNotFoundException ex){
throw new ConfigFileNotFoundException("Oops", ex);
}
나는 한 번 이상이 패턴을 사용했다. 보통 새로운 코드를 던져 넣은 것이다. 내가 업스트림 * 코드를 변경할 시간/액세스/권한을 가지고 있다면 이것을 필요로하지 않기 위해 리팩토링을 시도 할 것이다. 그러나, 나는 그린 필드 코드에서이 패턴을 사용하기도합니다. –
- 1. 주사위 던지기의 결과를 얻는 방법
- 2. 자바에서 던지기와 던지기의 차이 - 명확화
- 3. C#, .NET 및 CLI의 차이점은 무엇입니까?
- 4. .NET 4.5.x와 .NET 5의 차이점은 무엇입니까?
- 5. .net 4.0과 .net 4.0.3의 차이점은 무엇입니까?
- 6. Expection Maximization - 동전 던지기의 관찰 횟수 예
- 7. .NET 3.0과 3.5의 차이점은 무엇입니까?
- 8. C++ 메모리 관리와 .NET 메모리 관리의 차이점은 무엇입니까?
- 9. .NET 기능과 C# 기능의 차이점은 무엇입니까? (예를 들어주십시오)
- 10. C++과 C++ .NET의 주요 차이점은 무엇입니까?
- 11. .net, C#
- 12. C# /. NET
- 13. C# .net
- 14. C# .net
- 15. C# .Net
- 16. .NET C#
- 17. .net Async와 google의 주요 차이점은 무엇입니까
- 18. .NET 단위 테스트 프레임 워크의 차이점은 무엇입니까?
- 19. .NET 웹 응용 프로그램에서 다음의 차이점은 무엇입니까?
- 20. .NET 4의 EnumerateFiles와 EnumerateFileSystemEntries의 차이점은 무엇입니까?
- 21. .net 데이터 공급자와 ODBC 드라이버의 차이점은 무엇입니까?
- 22. 루비의 'open-uri'와 'Net : HTTP'젬의 차이점은 무엇입니까?
- 23. NET Framework 3.5와 4.0의 주요 차이점은 무엇입니까?
- 24. Sharepoint 및 .Net 개발의 차이점은 무엇입니까?
- 25. .NET 3.5의 Microsoft.Web.Management와 System.DirectoryServices의 차이점은 무엇입니까?
- 26. .NET : GetDeclaredProperty()와 GetProperty()의 차이점은 무엇입니까?
- 27. .Net Entity Framework 과장과 LinqToSql의 차이점은 무엇입니까?
- 28. C#의 long과 int의 차이점은 무엇입니까?
- 29. C# + C++ 및 .NET 호환성
- 30. Managed C++와 C++/CLI의 차이점은 무엇입니까?
http://stackoverflow.com/questions/730250/is-there-a-difference-between, 던져, 또는 새로운 예외를 만들고 해당 던져해야 -throw-and-throw-ex – Random
'throw', 매개 변수없이'catch' 블록에서'catch '를 야기한 예외를 다시 발생시킵니다. – Jodrell