java获取错误信息(java获取当前)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享java获取错误信息的知识,其中也会对java获取当前进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、java获取cpu信息失败
- 2、Java:如何获取错误信息?
- 3、java执行sh文件,如何获取到错误信息?
- 4、java 里面 如何 获取 sql 运行数据库报错的信息
- 5、Java如何获取Error信息,是error不是Exception
java获取cpu信息失败
关于Java:读取CPU使用率时出错:/ proc / stat(权限被拒绝)
androidandroid-studiojava
Error reading CPU usage: /proc/stat (permission denied)
附件是我在运行应用程序后出现在Android Studio中的错误消息。 我可以在设备上构建并运行程序,而不会出现任何问题。 在开始按照Google的新应用要求定位API级别26之前,我没有收到此错误。 关于如何纠正错误的任何建议? 此外,如果未解决,此错误将来还会引起问题吗?

谢谢!
相关讨论
您是否已在设备中授予存储权限?
@CopsOnRoad,是的,我已授予存储权限。 此错误来自Play商店中已使用一年以上的应用。 我只是在更新到API 26之后才收到错误。
在哪个Android版本中您会收到此错误?
使用API级别26或更高版本无法访问/ proc / stat。 Google已将其限制为非系统应用程序。 从API级别26开始,只有系统应用程序可以访问/ proc / stat
更多信息
这意味着您之前将API 23定位为目标,并且在安装期间拥有应用程序权限。 从API 23(Android 6.0)开始,您必须在运行时询问危险权限。
这就是您的应用之前成功运行的原因,当您将其更改为26时,就开始出现错误。 您必须在运行时使用ActivityCompat.requestPermissions(...)询问权限
相关讨论
谢谢,实际上,我已经在运行时请求了危险权限的权限。 我在清单文件中请求RECORD_AUDIO,WRITE_EXTERNAL_STORAGE,READ_INTERNAL_STORAGE和INTERNET的权限。 RECORD_AUDIO和WRITE_EXTERNAL _STORAGE都被认为是危险的,因此Im也需要在运行时请求许可。 但是我不适合INTERNET或READ_INTERNAL_STORAGE,因为它们并不危险。 我确实注意到READ_INTERNAL_STORAGE在Android 8.0的任何列表上都没有,这不再是权限吗? 这可能是造成问题的原因吗?
我认为READ_INTERNAL_STORAGE已由Android系统提供给您,您无需从Android 8.0开始指定它。

Java:如何获取错误信息?
建议建一个自定义异常,扑捉异常时,可以分级扑捉的,例如io,file等,最好不要直接Exception来扑捉。根据不同异常设置自定义异常内容属性,再将自定义异常抛出。
java执行sh文件,如何获取到错误信息?
package com.cn3158.base.utils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
public class ProcessExecutor {
private static Logger logger = Logger.getLogger(ProcessExecutor.class);
public static boolean isSubProcessOutput = true;
private static ProcessExecutor instance = new ProcessExecutor();
private ProcessExecutor() {
super();
}
public static ProcessExecutor getInstance()
{
return instance;
}
public Integer executeProcess(ListString commands) {
Integer result = null;
ProcessBuilder pb = new ProcessBuilder(commands);
// 开启错误信息的流到标准输出流,在某种情况下由于错误输出流中的数据没有被读取,进程就不会结束
pb.redirectErrorStream(true);
try {
//启动进程
Process process = pb.start();
//logger.info("begin to start process "+process.hashCode()+" ...");
//System.out.println("begin to start process "+process.hashCode()+" ...");
//开启子线程,读取进程输出信息
Thread t = new SubprocessReader(process,isSubProcessOutput);
t.start();
//等待进程执行完成
int status = process.waitFor();
//logger.info("finish to execute process "+process.hashCode()+",exit status("+status+") ...");
//System.out.println("finish to execute process "+process.hashCode()+",exit status("+status+") ...");
return status;
} catch (Exception e) {
logger.error(e);
}
return result;
}
/**
* 读取进程输出内容
* @author Administrator
*
*/
class SubprocessReader extends Thread {
private Process subprocess;
private boolean isOutput;
SubprocessReader(Process p, boolean isOutput) {
this.subprocess = p;
this.isOutput = isOutput;
}
public void run() {
BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(
new InputStreamReader(subprocess.getInputStream(),"gbk"));
} catch (Exception e1) {
e1.printStackTrace();
}
String line = null;
try {
while ((line = bufferedReader.readLine()) != null) {
if (isOutput) {
logger.info("process "+subprocess.hashCode()+":"+line);
//System.out.println("process "+subprocess.hashCode()+":"+line);
}
}
} catch (Exception e) {
logger.error("read subProcess error.", e);
} finally {
if (null != subprocess) {
InputStream is = subprocess.getInputStream();
InputStream es = subprocess.getErrorStream();
OutputStream os = subprocess.getOutputStream();
try {
bufferedReader.close();
is.close();
is = null;
es.close();
es = null;
os.close();
os = null;
} catch (IOException e) {
}
subprocess = null;
}
}
}
}
public static void main(String[] args)throws Exception {
ListString commands = new ArrayListString();
//commands.add("convert");
//commands.add("-page");
//commands.add("952x3683");
//commands.add("pattern:gray100");
//commands.add("-page");
//commands.add("+555+316");
//commands.add("d:/wxwtest/common/plot2.png");
//commands.add("-background");
//commands.add("white");
//commands.add("-compose");
//commands.add("multiply");
//commands.add("-flatten");
//commands.add("d:/wxwtest/temp/empty.png");
//commands.add("convert");
//commands.add("d:\\wxwtest\\common\\plot.png");
//commands.add("-fill");
//commands.add("white");
//commands.add("-colorize");
//commands.add("50%");
//commands.add("d:/wxwtest/temp/temp.png");
commands.add("CutyCapt");
commands.add("-–url=");
commands.add("-–out=d:/wxwtest/3158.jpg");
ProcessExecutor pe = ProcessExecutor.getInstance();
pe.executeProcess(commands);
//Runtime.getRuntime().exec("CutyCapt -–url= -–out=d:/wxwtest/3158.jpg");
}
}
这是java执行子进程的实例代码,希望对你有用
java 里面 如何 获取 sql 运行数据库报错的信息
用e.getMessage()
就可以得到你所想要的oracle具体提示信息,
比如:ORA-000234,XXXXXXX
然后你就可以分析这些字符串,对照ORACLE的相关错误号文档,自己做处理。
Java如何获取Error信息,是error不是Exception
error属于编译时错误,根本不会编译通过,也就是不会生成.class文件,exception属于运行时错误,只有在调用的时候才会报错,比如空指针或数组下标越界等等。使用IDE编程,直接就显示error错误了,不用专门去获取。
java获取错误信息的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java获取当前、java获取错误信息的信息别忘了在本站进行查找喔。
