try(........){throw new Exception("xxxxxx")}........catch(){.........}用法

本文通过一个PHP脚本示例展示了如何使用try-catch结构来处理运行时异常,特别是当除数为零时引发的警告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

<?php
function ActionSend($mobile, $key='')
{
  
	 try
	 {
		 /* if (empty($key)) {
		   throw new Exception('key值不能为空');
		  }
		  if($key != 'adfasdfdasfs') {
		   throw new Exception('key值不一致');
		  }
		  echo 'oo';
		  */

		   echo 1/0;
		   echo "throw";
		   //throw new Exception ( "Method not exists!" );
	}
	 catch(Exception $e)
	{

		 print_r($e);
		  echo "xxx";
	}

}

ActionSend('15801668635','adfasdfdasfs');


?>
   输出:
Warning: Division by zero in E:\wamp\www\test\try.php on line 16
throw

首先需要登录泛微E9获取会话(session),因为提交流程需要认证。 构建提交流程所需的参数(包括流程模板ID、表单数据等)。 发送HTTP POST请求到流程提交的API。 解析返回的响应,提取requestId。package com.api.hw.hssl; import bsh.Console; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.api.hw.utils.Result; import com.api.hw.utils.WebJsonUtils; import com.api.integration.util.DbUtil; import com.api.integration.web.OAuth2ServerAction; import com.caucho.quercus.env.Var; import com.engine.cpt.cmd.alert.GetBaseInfoCmd; import dm.jdbc.stat.support.WebServer; import org.mozilla.javascript.Function; import vba.word.Index; import weaver.conn.DBUtil; import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.integration.logging.Logger; import weaver.integration.logging.LoggerFactory; import weaver.mobile.plugin.ecology.RequestOperation; import weaver.soa.workflow.request.RequestInfo; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import java.sql.Connection; import java.sql.PreparedStatement; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; @Path(“/hw/hssl”) public class SyncOrderAPI { private Logger logger = LoggerFactory.getLogger(OAuth2ServerAction.class); public static final String TABLE_NAME = "formtable_main_333_dt2"; @POST @Path("/SynOrders") @Produces("application/json") public Object SyncOrderinfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { this.logger.info("================SyncOrderInfo start...==============================="); JSONObject requestJSON = WebJsonUtils.getRequestJSON(request); JSONArray items = requestJSON.getJSONArray("data"); List<List> batchParams = new ArrayList<>(); RecordSet rs = new RecordSet(); Result result = null; HashMap retMap = new HashMap(); String sql = "INSERT INTO " + TABLE_NAME + " (" + "orderType, originalOrderNo, bookingName, travelerName, orderDate, orderStatus," + "start_datetime, end_datetime, orderAmount, personPay, businessPay, discount," + "actualPlaceOfDeparture,actualDestination, universalType,roomType, trainSeat,cabinType, " + "vehicleType, isExcess, excessReason, flightNumber, trainNumber, hotelAddress," + "roomQuantity, liveDay, roomDays, mainid" + ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; try { for (int i=0;i<items.size();i++) { JSONObject item = items.getJSONObject(i); List<Object> rowParams = new ArrayList<>(); rowParams.add(item.getInteger("orderType"));//订单类型 rowParams.add(item.getString("originalOrderNo"));//订单明细编号 rowParams.add(item.getString("bookingName"));//订票人姓名 rowParams.add(item.getString("travelerName"));//出行人姓名 rowParams.add(item.getString("orderDate"));//订单创建日期 rowParams.add(item.getString("orderStatus"));//订单状态 rowParams.add(item.getString("start_datetime"));//订单开始时间 rowParams.add(item.getString("end_datetime"));//订单结束时间 rowParams.add(item.getString("orderAmount"));//订单总金额 rowParams.add(item.getString("personPay"));//个人支付金额 rowParams.add(item.getString("businessPay"));//企业支付金额 rowParams.add(item.getString("discount"));//折扣 rowParams.add(item.getString("actualPlaceOfDeparture"));//实际出发地 rowParams.add(item.getString("actualDestination"));//实际到达地 rowParams.add(item.getString("universalType"));//通用类型 rowParams.add(item.getInteger("roomType"));//房型 rowParams.add(item.getInteger("trainSeat"));//火车席位 rowParams.add(item.getInteger("cabinType"));//舱位类型 rowParams.add(item.getInteger("vehicleType"));//车型 rowParams.add(item.getInteger("isExcess"));//是否超标 rowParams.add(item.getString("excessReason"));//超标原因 rowParams.add(item.getString("flightNumber"));//航班号 rowParams.add(item.getString("trainNumber"));//火车车次 rowParams.add(item.getString("hotelAddress"));//酒店地址 rowParams.add(item.getString("roomQuantity"));//房间数量 rowParams.add(item.getString("liveDay"));//入住天数 rowParams.add(item.getString("roomDays"));//间夜数 rowParams.add(item.getInteger("mainid")); batchParams.add(rowParams); } boolean success = rs.executeBatchSql(sql,batchParams); if (success) { result = Result.success(); result.setMessage(""); } else { return Result.build(500, "数据库操作失败",null); } } catch (Exception e) { logger.error(e.getMessage()); return Result.build(500, "系统异常: "+e.getMessage(),retMap); } finally { logger.info("=============== SyncOrderInfo 结束 ==============="); } return result; } }前两项已经在其他接口完成
最新发布
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值