(string [] 또는 List와 같이) 비어있는 경우. 예 :방법은 예외없이 종료 (편집 : 알려진 양식로드 문제)
var emptyList = new List<string>();
var aha = emptyList.Where(i => i == "four");
var props = aha.First();
//anything after here in the same method does not run
이것이 올바른지, 어떻게 컴파일러에서 유용한 기능이 될 수 있습니까?!
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var emptyList = new List<string>();
var aha = emptyList.Where(i => i == "four");
var props = aha.First(); //throws exception
var fdsfsa = 0;
}
private void useref() {
var emptyList = new List<string>();
var aha = emptyList.Where(i => i == "four");
var props = aha.First(); //exits method, doesn't throw exception?
var asdf = 0;
}
private void Form1_Load(object sender, EventArgs e)
{
useref();
}
}
아 : 아니, 예외를 Form1_Load에서 호출 할 때 여전히 throw 될 것입니다. 디버거를 단계별로 실행하면 여전히 첫 번째 예외가 발생합니다. 어쩌면 FormLoad 이벤트가 예외 (ick)를 삼키지 만 예외가 확실히 발생합니다. – Alex
@ 알렉스에서 호출하지 그
–예외가 삼키는 것 같습니다! 분명히 이것은 64 비트 플랫폼에서 알려진 문제입니다. http://stackoverflow.com/questions/1583351/silent-failures-in-c-seemingly-unhandled-exceptions-that-does-not-crash-the-pr – Alex