我有类似于以下的代码:
try{
func1();
}
catch(Exception e){
/Do something
}
static func1(){
func2();
}
static func2(){
//Exception thrown here
System.IO.StreamReader file = new System.IO.StreamReader(filePath);
}
当 func2() 中的代码行抛出异常时,我在 catch 子句中没有收到任何通知。我没有明确地抛出任何东西,我只是有常规的静态函数声明——没有“抛出”出现在任何地方。
为什么异常不会向上传播到 catch 语句?