【发布时间】:2019-09-22 02:53:51
【问题描述】:
我最近面试了一家公司进行实习。他们让我写一个递归函数来计算给定整数的阶乘。所以我在纸上写了这样的东西:
int factorial(int n){
if(n<0){throw std::invalid_argument( "received negative value" );}
if(n == 0){return 1;}
else{
return n * factorial(n-1);
}
}
然后作为后续,他们问了我一些问题
“抛出异常对这个函数的用户有什么责任?”
“你能用其他方式处理这个吗?”
“你能优雅地处理它吗?”
我真的不知道他们在寻找/暗示什么。如果我在这里遗漏了什么,谁能告诉我?
【问题讨论】:
标签: c++ error-handling