我是非常新的 python 和 fastapi。我正在尝试在全局级别捕获未处理的异常。所以在main.py文件中的某个地方我写在下面:
@app.exception_handler(Exception)
async def exception_callback(request: Request, exc: Exception):
logger.error(exc.detail)
Run Code Online (Sandbox Code Playgroud)
但上述方法从未执行过。但是如果我编写一个自定义异常并尝试捕获它(如下所示),它运行良好。
class MyException(Exception):
#some code
@app.exception_handler(MyException)
async def exception_callback(request: Request, exc: MyException):
logger.error(exc.detail)
Run Code Online (Sandbox Code Playgroud)
我已经完成了Catch 异常类型的 Exception 和 process body request #575。但是这个错误谈论访问请求正文。看到这个bug,感觉应该可以抓到Exception。FastApi 版本fastapi>=0.52.0。
提前致谢 :)
我在使用下面的代码时将一行插入数据库(oracle 10g xe,jar:ojdbc14.jar)
String sql = "INSERT INTO SPONSOR_TB(ID,NAME,INDUSTRY_TYPE,IS_REPORTING_SPONSOR,IS_NOT_SOLICITE) VALUES(SEQ_SPONSOR_ID.NEXTVAL,:NAME1,:INDUSTRY_TYPE,:IS_REPORTING_SPONSOR,:IS_NOT_SOLICITE)";
MapSqlParameterSource paramSource = new MapSqlParameterSource();
paramSource.addValue("NAME1",sponsor.getName());
paramSource.addValue("INDUSTRY_TYPE", sponsor.getIndustryType());
paramSource.addValue("IS_NOT_SOLICITE", sponsor.getNotSoliciteFlag()?'Y':'N');
paramSource.addValue("IS_REPORTING_SPONSOR", sponsor.getReportingFlag()?'Y':'N');
KeyHolder generatedKeyHolder = new GeneratedKeyHolder();
namedParameterJdbcTemplate.update(sql, paramSource, generatedKeyHolder,new String[]{"ID"});
int id = generatedKeyHolder.getKey().intValue();
Run Code Online (Sandbox Code Playgroud)
表的结构是:
create table SPONSOR_TB
(
id INTEGER not null,
name VARCHAR2(20),
industry_type INTEGER not null,
is_reporting_sponsor CHAR(1) not null,
is_not_solicite CHAR(1) not null
)
Run Code Online (Sandbox Code Playgroud)
和SEQ_SPONSOR_ID是序列
赞助商类是:
public class Sponsor{
private int id;
private String name;
private boolean reportingFlag;
private boolean notSoliciteFlag;
private int industryType;
//getter …Run Code Online (Sandbox Code Playgroud) 我有一个Power BI Desktop应用程序,可以访问一个数据源,该数据源是OData提要。在Power BI Desktop中刷新数据时,需要花费更长的时间。在弹出窗口中单击刷新后,它会显示“正在评估”和“正在加载2 KB ...”很长时间。从OData API的日志中,我可以看到OData feed被调用了两次,每个请求花费的时间相同。
为什么Power BI桌面多次调用OData feed?有没有办法减少通话次数?
注意:
exception ×1
fastapi ×1
jdbctemplate ×1
oracle10g ×1
powerbi ×1
python-3.x ×1
spring ×1
spring-jdbc ×1
spring-mvc ×1